#batch-file #dos
#пакетный файл #dos
Вопрос:
Я пишу серию пакетных файлов, чтобы продемонстрировать моему классу, на что способен компьютерный вирус. Все, что мне нужно, это ПРОСТАЯ строка кода, которая откроет другой файл. Любая помощь приветствуется.
Ответ №1:
Это то, что вы ищете?
@echo off
echo One
start notepad.exe
exit
echo Two
Отобразится «Один», запустите notepad, затем выйдите из командной строки, в которой он запущен. Это не будет повторять «Два».
Если вы хотите открыть документ (или веб-страницу, или что угодно), а не исполняемый файл, просто укажите его путь вместо «notepad.exe «и start
сделает все правильно.
Если вы не хотите закрывать командную строку, а просто хотите завершить выполнение пакетного сценария, сделайте это:
@echo off
echo One
start notepad.exe
goto :eof
echo Two
Это вернет вас к командной строке без повторения «Два».
Комментарии:
1. Вы можете использовать
goto :eof
, чтобы избежать необходимости определять метку в конце пакетного файла. Первый код, скорее всего, неверен почти во всех обстоятельствах. Большинству людей не нравится, когда их консоль закрывается из-под них, если они работают в интерактивном режиме.2. @Joey — спасибо за
goto :eof
совет — отредактировано соответствующим образом. Что касаетсяexit
, это то, как я читаю «а затем закройте исходный пакетный файл». Это также согласуется с «продемонстрировать […] компьютерный вирус». Большинству людей это тоже не нравится. 🙂3. Ну, закрытие пакетного файла — это нечто иное, чем закрытие окна консоли. Еще раз перечитывая вопрос, я согласен, это немного … странно 😉
Ответ №2:
Ну, вот как открыть другой исполняемый файл, но что вы имеете в виду, закрыв исходный пакетный файл?
start /d C:WindowsSystem32calc.exe
и затем, чтобы завершить работу раньше, вы могли бы просто использовать exit. но если вы дойдете до конца пакета, он все равно может просто закрыться.