Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Первый bat файл  (Прочитано 27050 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« : 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
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 21-03-2008 19:10 » 

Цитата: Diskriptor
Задание такое написать батник который форматирует файловую систему на HHD
А у тебя преподаватели с чувством юмора Отлично

Цитата: Diskriptor
когда я ему задал вопрос возможно ли применять команды MS-DOS он мне отвертел что нет,  что MS-DOS к написанию batников не иметь ни какого отношения, препод по винде новый явно тормоз если такое говорить.
Справедливое мнение о преподавателе, если он тебя правильно понял, а ты, в свою очередь, правильно сформулировал вопрос и правильно понял ответ. Улыбаюсь В Windows вообще оперируют WSH-скриптами, хотя и старые CMD- или BAT-файлы тоже поддерживаются.

Цитата: Diskriptor
как что надо дописать в batник что бы он не спрашивал  подтверждения и сразу уходил на переконвертацию?
Тут надо понять, что такое конвейер стандартных потоков ввода-вывода. Будет это выглядеть примерно так:
Код: (Text)
echo "y" | convert с: /fs:ntfs /v
Но предупреждаю, я это, а особенно "format с:", не проверял и не будут Ага

Цитата: Diskriptor
И что надо прописать в batник чтобы окно закрывалос не сразу а только после нажатия любой клавиши
Код: (Text)
pause
« Последнее редактирование: 21-03-2008 19:12 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 21-03-2008 22:58 » 

dimka, Почему-то не работает? так как задумывалось пошить   что конвертация не возможна так как этот то используется другими процессами, что бы начат конвертацию закройте этот том все открытые дескрипторы тома будут не верны и предлогаеть снова подтвердит переконвертацию  нажатием на клавишу Y, еще жалуется что не может получить монопольные права доступа к диску С и по этому он не будить преобразован.

Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 22-03-2008 15:42 » 

Diskriptor, для принудительного снятия используемого тома нужно пользоваться опцией /X - тогда все дескрипторы позакрывает само.
А вообще, всегда полезно делать, например, так:
Код: (Text)
convert /?
или
Код: (Text)
help convert
для Windows - просто с целью поинтересоваться набором опций командной строки, которые поддерживает утилита Улыбаюсь
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 22-03-2008 19:19 » 

Вад, Также песня программ, convert не удается отключить том поскольку
Не удается получить монополгые доступ к диску С, и опять спрашивает выполнить конвертацию при следующей перезагрузке системы,пробовал со всеми параметрами и  безопамной конвертацией.   
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 22-03-2008 20:22 » 

Ну так к системному разделу система тебе и не даст доступ, разумеется Улыбаюсь Без перезагрузки не обойтись, думаю. Да и вообще, задание реализацию такого варианта подразумевает? Не представляю, зачем такое кому-то может в реальной жизни понадобиться Улыбаюсь
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 25-03-2008 22:11 » 

Вад, Я тоже не знаю зачем надо такой батник, но надо заделать, раскажы что надо для того что бы комп наконец-то перезагрузился.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 25-03-2008 22:16 » 

 dimka, препад сказал что, такой синтаксис echo "y" | convert с: /fs:ntfs /v  ошибочный вот в этой части echo "y" |  Я ужас, летящий на крыльях ночи.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 26-03-2008 07:46 » 

Diskriptor, а почему "convert с: /fs:ntfs /v"? Ты же сам принуждаешь утилиту задавать тебе лишние вопросы Улыбаюсь Если убрать /v и поставить /X - что будет? Как вариант, попробовать добавить в командную строку /Y - вдруг прокатит Улыбаюсь На своём винте что-то не хочется пробовать Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 26-03-2008 08:51 » 

Цитата: dimka
dimka, препад сказал что, такой синтаксис echo "y" | convert с: /fs:ntfs /v  ошибочный вот в этой части echo "y" |
А ты его пригласи в эту тему - мы ему и вправим Улыбаюсь.

P.S. Проверил на
Код: (Text)
echo "y" | copy 1.txt 2.txt
При попытке копировать поверх copy как раз спрашивает подтверждение операции - конвейер работает, хотя, конечно, для copy лучше использовать ключик /y.

P.S.S. Из стандартного потока обычно лишь пароли не читаются.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #10 : 26-03-2008 11:09 » 

Вад, Пребывал и так и так не работает.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #11 : 26-03-2008 11:20 » 

dimka, Я не сомневайся  что ты прав, а препода приглашать не буду ты его посадишь в лужу  Улыбаюсь(докажешь что он ламер) а он мне репрессии устроить и на экзамене завалить.
 
P.S.
Во мне разгорелся не здоровый интерес как же заставить батник выполнять поставленную задачу
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 26-03-2008 22:01 » 

Когда-то давно встречал утилиту, которая в целях безопасности ждала ответа на вопрос yes/no не из входящего потока, а опросом клавиатуры.
Но это к слову.
А предпод не прав - синтаксис вполне корректен и работоспосоен.
Но если хочешь - можешь так извратиться (может ему понятнее будет?)
Код:
echo y>temp.~~~
convert с: /fs:ntfs /v < temp.~~~
del /f /q temp.~~~
Правда - есть подозрение что удаление файла не сработает если требуется перезегрузка. Так что он (temp.~~~) останется в каталоге запуска...

dimka, /v - все-таки мне кажется что это вывод диагностических сообщений, а не вопросов...
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #13 : 27-03-2008 06:52 » 

Kivals,  Спасибо попробую.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 27-03-2008 07:14 » 

Цитата: Kivals
dimka, /v - все-таки мне кажется что это вывод диагностических сообщений, а не вопросов...
А я про /v вообще ничего не говорил. Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 27-03-2008 07:46 » 

Kivals, это я говорил про /v. Сейчас у меня англоязычный XP, там включаемый этой опцией режим называется "verbose mode". Когда писал про этот режим, пробовал в русскоязычной выводить справку - там в описании ключа была фраза (дословно не вспомню), которая семантически скорее была близка к "пошаговому режиму с подтверждением", нежели к "выводу диагностических сообщений".
« Последнее редактирование: 27-03-2008 07:48 от Вад » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 27-03-2008 08:25 » 

CONVERT том: /FS:NTFS [/V] [/CvtArea:имя_файла] [/NoSecurity] [/X]

  том         Определяет букву диска (с последующим двоеточием),
              точку подключения или имя тома.
  /FS:NTFS    Конечная файловая система: NTFS.
  /V          Включение режима вывода сообщений.
  /CVTAREA:имя_файла
              Указывает непрерывный файл в корневой папке для резервирования
              места для системных файлов NTFS.
  /NoSecurity Параметры безопасности для преобразуемых файлов и папок
              будут доступны для изменения всем.
  /X          Принудительное снятие этого тома (если он был подключен).
              Все открытые дескрипторы этого тома станут недопустимыми.

трудности перевода?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 03-04-2008 20:17 » 

dimka, Вад - прошу извинить что напутал Улыбаюсь
« Последнее редактирование: 03-04-2008 20:20 от Kivals » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #18 : 12-12-2008 18:45 » 

а можно уточнить: следует ли бояться за потерю содержимого диска, если что то не так пойдёт ? Улыбаюсь
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #19 : 12-12-2008 19:53 » 

Алексей1153++, конечно Улыбаюсь поэтому до конверта проверь диск на ошибки, а потом молись, чтобы свет не вырубили Улыбаюсь по окончании настоятельно рекомендуется вполнить дефрагментацию
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #20 : 12-12-2008 19:56 » 

хех... Эксперименты у вас какие то жестокие
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines