Diskriptor
|
|
« : 21-03-2008 16:05 » |
|
Здравствуйте, пожалуйста помогите написать первый batник. Задание такое написать батник который форматирует файловую систему на HHD из FAT32 в NTFS на мой вопрос как писать batники препад ответил, цитата пишите в TXT файле консольные команды и после меняете расширения файла на bat, когда я ему задал вопрос возможно ли применять команды MS-DOS он мне отвертел что нет, что MS-DOS к написанию batников не иметь ни какого отношения, препод по винде новый явно тормоз если такое говорить. В общем наугад я написал следующий batник: convert C:/fs:ntfs/v работает но если форматируешь диcк Е или D при условии что документы и программы закрыты на этих дисках, а если С то просеет потвердить отключение тома для ухода на перезагрузку компа с последующим переконвертацией диска С. Проблема в том что когда мы это делаем с клавы то там надо для подтверждения нажать клавишу - да уходим на перезагрустьку
как что надо дописать в batник что бы он не спрашивал подтверждения и сразу уходил на переконвертацию? И что надо прописать в batник чтобы окно закрывалос не сразу а только после нажатия любой клавиши И дайте название авторов и книг где можно прочитать что такое batник как его правело писать, потому что информации про написание batников много но она разрознена и я не нашел, ответь на свой вопрос.
|
|
« Последнее редактирование: 21-03-2008 16:07 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #1 : 21-03-2008 19:10 » |
|
Задание такое написать батник который форматирует файловую систему на HHD А у тебя преподаватели с чувством юмора когда я ему задал вопрос возможно ли применять команды MS-DOS он мне отвертел что нет, что MS-DOS к написанию batников не иметь ни какого отношения, препод по винде новый явно тормоз если такое говорить. Справедливое мнение о преподавателе, если он тебя правильно понял, а ты, в свою очередь, правильно сформулировал вопрос и правильно понял ответ. В Windows вообще оперируют WSH-скриптами, хотя и старые CMD- или BAT-файлы тоже поддерживаются. как что надо дописать в batник что бы он не спрашивал подтверждения и сразу уходил на переконвертацию? Тут надо понять, что такое конвейер стандартных потоков ввода-вывода. Будет это выглядеть примерно так: echo "y" | convert с: /fs:ntfs /v Но предупреждаю, я это, а особенно "format с:", не проверял и не будут И что надо прописать в batник чтобы окно закрывалос не сразу а только после нажатия любой клавиши pause
|
|
« Последнее редактирование: 21-03-2008 19:12 от dimka »
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Diskriptor
|
|
« Ответ #2 : 21-03-2008 22:58 » |
|
dimka, Почему-то не работает? так как задумывалось пошить что конвертация не возможна так как этот то используется другими процессами, что бы начат конвертацию закройте этот том все открытые дескрипторы тома будут не верны и предлогаеть снова подтвердит переконвертацию нажатием на клавишу Y, еще жалуется что не может получить монопольные права доступа к диску С и по этому он не будить преобразован.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Вад
|
|
« Ответ #3 : 22-03-2008 15:42 » |
|
Diskriptor, для принудительного снятия используемого тома нужно пользоваться опцией /X - тогда все дескрипторы позакрывает само. А вообще, всегда полезно делать, например, так: convert /? или help convert для Windows - просто с целью поинтересоваться набором опций командной строки, которые поддерживает утилита
|
|
|
Записан
|
|
|
|
Diskriptor
|
|
« Ответ #4 : 22-03-2008 19:19 » |
|
Вад, Также песня программ, convert не удается отключить том поскольку Не удается получить монополгые доступ к диску С, и опять спрашивает выполнить конвертацию при следующей перезагрузке системы,пробовал со всеми параметрами и безопамной конвертацией.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Вад
|
|
« Ответ #5 : 22-03-2008 20:22 » |
|
Ну так к системному разделу система тебе и не даст доступ, разумеется Без перезагрузки не обойтись, думаю. Да и вообще, задание реализацию такого варианта подразумевает? Не представляю, зачем такое кому-то может в реальной жизни понадобиться
|
|
|
Записан
|
|
|
|
Diskriptor
|
|
« Ответ #6 : 25-03-2008 22:11 » |
|
Вад, Я тоже не знаю зачем надо такой батник, но надо заделать, раскажы что надо для того что бы комп наконец-то перезагрузился.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #7 : 25-03-2008 22:16 » |
|
dimka, препад сказал что, такой синтаксис echo "y" | convert с: /fs:ntfs /v ошибочный вот в этой части echo "y" | .
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Вад
|
|
« Ответ #8 : 26-03-2008 07:46 » |
|
Diskriptor, а почему "convert с: /fs:ntfs /v"? Ты же сам принуждаешь утилиту задавать тебе лишние вопросы Если убрать /v и поставить /X - что будет? Как вариант, попробовать добавить в командную строку /Y - вдруг прокатит На своём винте что-то не хочется пробовать
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #9 : 26-03-2008 08:51 » |
|
dimka, препад сказал что, такой синтаксис echo "y" | convert с: /fs:ntfs /v ошибочный вот в этой части echo "y" | А ты его пригласи в эту тему - мы ему и вправим . P.S. Проверил на echo "y" | copy 1.txt 2.txt При попытке копировать поверх copy как раз спрашивает подтверждение операции - конвейер работает, хотя, конечно, для copy лучше использовать ключик /y. P.S.S. Из стандартного потока обычно лишь пароли не читаются.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Diskriptor
|
|
« Ответ #10 : 26-03-2008 11:09 » |
|
Вад, Пребывал и так и так не работает.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #11 : 26-03-2008 11:20 » |
|
dimka, Я не сомневайся что ты прав, а препода приглашать не буду ты его посадишь в лужу (докажешь что он ламер) а он мне репрессии устроить и на экзамене завалить. P.S. Во мне разгорелся не здоровый интерес как же заставить батник выполнять поставленную задачу
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Kivals
|
|
« Ответ #12 : 26-03-2008 22:01 » |
|
Когда-то давно встречал утилиту, которая в целях безопасности ждала ответа на вопрос yes/no не из входящего потока, а опросом клавиатуры. Но это к слову. А предпод не прав - синтаксис вполне корректен и работоспосоен. Но если хочешь - можешь так извратиться (может ему понятнее будет?) echo y>temp.~~~ convert с: /fs:ntfs /v < temp.~~~ del /f /q temp.~~~ Правда - есть подозрение что удаление файла не сработает если требуется перезегрузка. Так что он (temp.~~~) останется в каталоге запуска... dimka, /v - все-таки мне кажется что это вывод диагностических сообщений, а не вопросов...
|
|
|
Записан
|
|
|
|
Diskriptor
|
|
« Ответ #13 : 27-03-2008 06:52 » |
|
Kivals, Спасибо попробую.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #14 : 27-03-2008 07:14 » |
|
dimka, /v - все-таки мне кажется что это вывод диагностических сообщений, а не вопросов... А я про /v вообще ничего не говорил.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Вад
|
|
« Ответ #15 : 27-03-2008 07:46 » |
|
Kivals, это я говорил про /v. Сейчас у меня англоязычный XP, там включаемый этой опцией режим называется "verbose mode". Когда писал про этот режим, пробовал в русскоязычной выводить справку - там в описании ключа была фраза (дословно не вспомню), которая семантически скорее была близка к "пошаговому режиму с подтверждением", нежели к "выводу диагностических сообщений".
|
|
« Последнее редактирование: 27-03-2008 07:48 от Вад »
|
Записан
|
|
|
|
Sla
|
|
« Ответ #16 : 27-03-2008 08:25 » |
|
CONVERT том: /FS:NTFS [/V] [/CvtArea:имя_файла] [/NoSecurity] [/X]
том Определяет букву диска (с последующим двоеточием), точку подключения или имя тома. /FS:NTFS Конечная файловая система: NTFS. /V Включение режима вывода сообщений. /CVTAREA:имя_файла Указывает непрерывный файл в корневой папке для резервирования места для системных файлов NTFS. /NoSecurity Параметры безопасности для преобразуемых файлов и папок будут доступны для изменения всем. /X Принудительное снятие этого тома (если он был подключен). Все открытые дескрипторы этого тома станут недопустимыми.
трудности перевода?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #18 : 12-12-2008 18:45 » |
|
а можно уточнить: следует ли бояться за потерю содержимого диска, если что то не так пойдёт ?
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #19 : 12-12-2008 19:53 » |
|
Алексей1153++, конечно поэтому до конверта проверь диск на ошибки, а потом молись, чтобы свет не вырубили по окончании настоятельно рекомендуется вполнить дефрагментацию
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #20 : 12-12-2008 19:56 » |
|
хех... Эксперименты у вас какие то жестокие
|
|
|
Записан
|
|
|
|
|