2013-11-17 2 views
0

Я новичок и пытаюсь сделать простого прогмена, который запустил cm.exe, а затем изменил букву своего диска и изменил атрибут всех файлов на этом конкретном диске и удалил все файлы .link или папки быстрого доступа.как иметь несколько команд в пакетном файле

В ЦМД, вход, как это:

(Drive letter): 
Attrib -r -s -a -h *.* 
Del auto run.inf 
Del *.lnk 

Как написать эту команду в пакетном файле. Большое спасибо (извините за мой английский. Lol: 3)

+0

Возможно, эта тема может помочь вам: http://stackoverflow.com/questions/17118338/putting-multiple-commands-into-one-batch-file – Alice

ответ

1

Используйте строку редактора Editplus или notepad ++ для ввода именно этих строк в файле с именем whateveryoulike.BAT. Это часть .BAT, которая делает трюк. (Вы также можете использовать NOTEPAD, но будьте осторожны - вы должны сохранить как ANSI и NOTEPAD имеет привычку пытаться форматировать текст)

В CMD строке введите PATH. Это покажет ; -раздельный список каталогов, поиск которых осуществляется, чтобы найти команду whateveryoulike. Сохраните whateveryoulike.BAT в любой директории в этом списке.

Серьезные дозаторы добавят каталог, содержащий партии, и добавят этот каталог в путь.

Тогда все, что вам нужно сделать, это выдать команду whateveryoulike в приглашении, и командный файл будет запущен - как если бы вы вручную ввели строки, которые он содержит.

Это традиционная, чтобы добавить строку

@echo off 

в начале файла, который подавляет ECHO Ing команд, как они выполняются.

Это также хорошая идея, чтобы добавить команду

SETLOCAL 

после этого, автоматически выбрасывайте изменения партия может быть внесенным в окружающую среду, когда партии отделки. Это вопрос суждения, но проблемы могут быть вызваны неожиданным изменением переменных.

Наконец, партия может получить доступ к параметрам, используя %n где п = 1..9, так что если вы должны были составить

@echo off 
setlocal 
set drive_letter=%1 
%Drive_letter%: 
Attrib -r -s -a -h *.* 
Del auto run.inf 
Del *.lnk 

в whateveryoulike.BAT и сохранить его в папку на вашем PATH затем, из командной строки

whateveryoulike e 

выполнит свой набор команд и назначить e в drive_letter. Обратите внимание на метод доступа к переменной - % VariableName %

(но будьте осторожны !!!!!)

Вы, возможно, предпочитают

@echo off 
setlocal 
set drive_letter=%1 
if not defined drive_letter echo drive letter required&goto :eof 
%Drive_letter%: 
... 

, который проверяет, действительно ли указанный вам параметр. Обратите внимание на использование & для отдельных команд на одной и той же физической линии и метки :eof (где : требуется) означает go to the end of the physical batchfile

Наконец - и быть очень, очень осторожны с этим - вы можете также использовать DEL /s удалить соответствующие файлы в все подкаталоги и attrib /s для изменения атрибутов соответствующих файлов в все подкаталоги (ну, все подкаталоги тока, так или иначе ...) - не для слабонервных !!

+0

Какое форматирование делает Блокнот по тексту? Я никогда не сталкивался с этим раньше. – Gabe

+0

@gabe Он может пытаться форматировать до n столбцов, разбивая длинные строки, удалять или вставлять терминальные пространства на линии, конвертировать вкладки в пробелы и, как правило, действовать как дешевый текстовый процессор. У некоторых людей нет проблем - это может дойти до того, как вы его используете. Честно говоря, я не использовал его так долго, я забыл точные детали, но он может играть хаос с пакетными файлами. Идиома: обжегся на молоке - дует на воду. – Magoo

+0

Я использую Блокнот ежедневно и никогда не видел ничего подобного. Он обертывает 1024 символа (но не вставляет новые строки). Я никогда не видел, чтобы он повредил любые текстовые файлы. – Gabe

Смежные вопросы