|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Проверка отформатированности диска |
|
|
CMD/BAT - Проверка отформатированности диска
|
Новый участник Сообщения: 17 |
Профиль | Отправить PM | Цитировать
Собственно вопрос такой:
например, диск D не отформатирован, его нужно форматнуть.... а как осуществить эту проверку, для NTFS я так придумал IF EXIST "D:\System Volume Information" ( ECHO "Отформатирован" ) ELSE ( ECHO "НЕ Отформатирован" rem echo y | format d: /FS:NTFS /V:DATA /Q format d: /FS:NTFS /V:DATA /Q /Y ) вообще в идеале именно проверку того, что он отформатирован/не отформатирован бы сделать..... Заранее спасибо подобная тема http://forum.oszone.net/thread-174368.html |
|
Отправлено: 20:41, 18-09-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Nuclears, используйте фильтрованный вывод сценария DISKPART, fsutil.exe или wmic.exe. У меня нет свободного раздела, дабы проверить. Попробуйте разные варианты:
@echo off setlocal enableextensions enabledelayedexpansion set sDrive=D: for /f "tokens=5" %%i in ( '^(echo select volume %sDrive%^&echo detail partition^)^|diskpart.exe^|find.exe "*"' ) do set sFileSystem=%%i if defined sFileSystem echo 1. %sFileSystem% set sFileSystem= for /f "usebackq tokens=2 delims==" %%i in ( `wmic.exe LogicalDisk where "Name='%sDrive%'" get FileSystem /value^|find.exe /i "FileSystem"` ) do set sFileSystem=%%i if defined sFileSystem echo 2. %sFileSystem% set sFileSystem= for /f "tokens=4 delims=: " %%i in ( 'fsutil.exe fsinfo volumeinfo %sDrive%^|find.exe /i "Имя файловой системы"' ) do set sFileSystem=%%i if defined sFileSystem echo 3. %sFileSystem% endlocal exit /b 0 |
Отправлено: 21:57, 18-09-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Iska, благодарствую!
но, мну пока тока начинает осваивать и консоль и тем более wmi.... могли бы откомментировать строчки?) по идее работает, но не могу осмыслить циклы for.... ЗЫЖ тестеры виртуальными машинами правят) к делу не относиться, но при отсутсвии логического раздела сообщает "Отсутствуют экземпляры класса." при существующем разделе, 1. сообщает "Раздел" 2. и 3. соответсвенно пусто.... при отформатированном разделе, 1., 2, и 3. NTFS/FAT/FAT32 т.е. setlocal enableextensions enabledelayedexpansion set sDrive=D: for /f "tokens=5" %%i in ( '^(echo select volume %sDrive%^&echo detail partition^)^|diskpart.exe^|find.exe "*"' ) do set sFileSystem=%%i IF %sFileSystem%==Раздел ( format d: /FS:NTFS /V:DATA /Q /Y ) ух, создаю сложности...... допустим(крайне редко, но тем не менее): C:==%SYSTEMDRIVE% (Win7) D:==%SYSTEMDRIVE%(WinXP) E:==неформатированный раздел F:==%CDROM% нужно автоматом форматнуть Е: (установка win xp на D:\).... вспоминается код, присваивания переменной %CDROM% SetLocal EnableExtensions DisableDelayedExpansion SetLocal EnableDelayedExpansion Title Установка переменной %CDROM% rem Выполнилось на T-12 rem из папки %CDROM%\$OEM$ @Echo Off FOR %%? IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO ( IF /I "%%?:" NEQ "%SYSTEMDRIVE%" CALL :SUB "%%?:" &&GOTO START) GOTO ENDIT :START setenv.exe -m CDROM %CDROM% :ENDIT ENDLOCAL &GOTO :EOF :SUB IF NOT EXIST %~1\WIN51 EXIT/B 1 SET "CDROM=%~1" EXIT/B 0 вообщем, как такое дело оптимизировать на T-12 (автоматическая установка WinXP)? |
Последний раз редактировалось Nuclears, 19-09-2011 в 00:55. Отправлено: 00:07, 19-09-2011 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Nuclears:
Цитата Nuclears:
Цитата Nuclears:
Не могли бы Вы пояснить некоторые моменты: 2. Процесс будет происходить именно на этапе T-12 установки? 3. Каким образом получается, что раздел/логический диск/том не отформатирован, но имеет назначенную букву? Цитата Nuclears:
|
||||
Последний раз редактировалось Iska, 19-09-2011 в 03:53. Причина: Убраны отпавшие вопросы после Вашей правки Отправлено: 03:40, 19-09-2011 | #4 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Iska:
подумав пораскидывая мозгами по комнате.... rem Создадим метку ECHO HDD-D > "D:\HDD-D" rem проверим-с IF NOT EXIST D:\HDD-D ( format d: /FS:NTFS /V:DATA /Q /Y ) работает! так же проверил первый вариант предложенный Вами, Iska и тоже работает))) в T-12 мой вариант... работает ЗЫЖ а какая кодировка должна быть чтобы не кракозябрами писал?))) |
||
Последний раз редактировалось Nuclears, 20-09-2011 в 01:48. Отправлено: 22:11, 19-09-2011 | #5 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать ИТОГ:
т.к. счас у мну загрузчик базируется на ISOLinux + (VOLM,VOLS,VOLD) -> для каждой из них WINNT.SIA...WINNT.SIZ ->решил выделить по буковке из каждой категории для установки и запуска форматирования из [GuiRunOnce] по своему методу (создание и проверка метки , т.е. выделил отдельный пунк меню установки, связано это с тем, что, нет уверенности в работоспособности скриптов с GPT разделами, а информация на винте превыше всего.....) Iska, Вам отдельное спасибо! но буду ждать комментарий, осмыслить код хочу) ЗЫЖ: даже незнаю как выразить словами , остатки, те что не раскидывал, вскипели счас разбираюсь с \Device\Harddisk#\Partition#, чтобы добавить в переменные среды свои параметры дисков, например %SYSTEMDRIVE% - это C:, %SYSTEMDRIVE%+1 - сделать %DATADRIVE% (связано это с тем, что, например, папку мои документы мну перенес в D:\MY_DOCUMENTS давно(реестровый твик, что не есть хорошо), а автоматизацию не доделал, т.е. в идеале %DATADRIVE%\MY_DOCUMENTS) вообщем, у кого есть какие либо заметки по этому, буду благодарен |
Последний раз редактировалось Nuclears, 20-09-2011 в 00:49. Отправлено: 00:28, 20-09-2011 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Nuclears:
P.S. Меня, кстати, этот вопрос тоже весьма занимает, но всё не было времени вплотную сим заняться. Цитата Nuclears:
|
||
Отправлено: 00:52, 20-09-2011 | #7 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Iska:
при наличии кардридера и одного CD/DVD: разметка в установке будет C-F(G,H)-кардридер, далее HDD(PrimaryPartition), CD/DVD, далее Logical Partitions (обычно мну кардридер отключает для установки) кстати, если после первичной разметки перезапустить установку, то HDD(PrimaryPartition) станет C при отсутсвии кардридера: A) винт не имеет разделов(например новый): HDD(PrimaryPartition)-C, CD/DVD(если 1шт)-D, все остальное (Logical Partitions) но тут добавлю, если после первичной разметки, удалить все партиции, то будет как на скрине выше B) винт имеет уже разделы: ну тут предсказать сложно, а если еще и GPT.... вообщем итог(проверенный на сотнях машин): 99% какая разметка в установочнике, такая и под виндами diskpart пока тока хелпы почитал... но судя по всему именно в создании сценария и лежит решение (как раньше для PQ Magic ) по поводу нескольких primary, отказался от такой затеи давно, Win это не *nix, где по человечески слайсы и партиции..., хотя начиная с Win7 мне GPT симпотизирует Цитата Iska:
так же пробовал CHCP866, CHCP1251 и т.д.(сами файлы в разных кодировках), всегда кракозябры (у меня на T-12 %CDROM% создается) Цитата Iska:
|
|||
Последний раз редактировалось Nuclears, 20-09-2011 в 03:12. Отправлено: 01:17, 20-09-2011 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Nuclears:
Цитата Nuclears:
Цитата Nuclears:
Цитата Nuclears:
Цитата Nuclears:
Цитата Nuclears:
|
||||||
Отправлено: 08:15, 20-09-2011 | #9 |
Модератор Сообщения: 8282
|
Профиль | Отправить PM | Цитировать Цитата Nuclears:
|
|
Отправлено: 06:55, 21-09-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Драйвер - проверка драёверов (с диска) | tvkorob | Microsoft Windows 2000/XP | 2 | 18-07-2011 12:20 | |
Проверка Диска | RuLe | Хочу все знать | 8 | 05-01-2007 20:05 | |
проверка диска win98 | vilisz | Microsoft Windows 95/98/Me (архив) | 4 | 22-09-2006 13:31 | |
Не выполняется проверка диска C: | Guest | Microsoft Windows 95/98/Me (архив) | 26 | 11-05-2004 19:04 | |
Проверка системного диска | Guest | Microsoft Windows 95/98/Me (архив) | 2 | 29-12-2003 21:05 |
|