Пакетный файл на мгновение открывает окно cmd, а затем закрывает его - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь запустить простой пакетный файл в Windows 7, который содержит только:

cd\

По какой-то причине он просто открывает экран cmd.exe для вспышки, а затем закрывает его.

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

Есть идеи, почему?

Ответы [ 2 ]

0 голосов
/ 17 марта 2019

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

Команда cd\ изменяет текущий каталог в командной строке на корневой каталог.

Чтобы использовать этот файл (и посмотреть, что он делает), откройте окно консоли и введите имя файла с указанием его пути. Чтобы открыть командную строку в текущем каталоге, удерживайте нажатой клавишу shift и щелкните правой кнопкой мыши, пока нет файла. выберите и нажмите кнопку «Открыть консольное окно здесь».


В качестве альтернативы вы можете добавить команду pause, и мигание закончится.


Чтобы открыть окно проводника, куда бы вы ни указали cd, используйте этот код:

cd path
explorer .

Надеюсь, это поможет

0 голосов
/ 17 марта 2019

В дополнение к совету, предлагаемому в области комментариев, если вы хотите открыть окно cmd.exe из пакетного файла и с определенным диском или путем в качестве «текущего» и оставить его открытым, то ваш пакетный файл содержимое может выглядеть примерно так:

@Start /B /D "/" "Cmd /K"

В этом примере требуемый текущий рабочий каталог указывается в строке в двойных кавычках после опции Start /D. Чтобы увидеть параметры /B и /D и другие доступные параметры, взгляните на информацию об использовании команды Start, введя Start /? в окне командной строки. Если ваш командный файл должен был содержать больше команд, чем вы показывали, вы, вероятно, обнаружите, что опция /B не нужна .

Чтобы просмотреть информацию об использовании cmd.exe, (и что делает его опция /K) , вы также можете ввести Cmd /? в командной строке. В зависимости от того, есть ли у вас какой-либо набор, также может быть целесообразно отключить любые команды автозапуска, включив параметр /D.

Обратите также внимание, что выше я использовал Cmd, что является сокращением для cmd.exe. Эта аббревиатура работает только в том случае, если у вас есть исполняемый файл, определяемый как файл с расширением, указанным в системной переменной %PATHEXT% в текущем рабочем каталоге, в каталоге Windows (%SystemRoot%), Каталог Windows\System32 (%SystemRoot%\system32), указанный в системной переменной %Path%, или каталог, указанный в реестре под ключами …\Microsoft\Windows\CurrentVersion\App Paths или HKEY_CLASSES_ROOT\Applications\). Если ваш исполняемый файл не существует ни в одном из них, вам нужно будет ввести вместо него полный или относительный (по отношению к текущему рабочему каталогу) путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...