Нужна строка кода для пакетного файла, чтобы открыть другую программу, а затем закрыть исходный пакетный файл

#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. но если вы дойдете до конца пакета, он все равно может просто закрыться.