Немного больше информации ...
Я начинаю с пакетного файла (test.cmd), который содержит:
@echo %cmdcmdline%
Если я дважды щелкну "test.cmd"«пакетный файл из Windows Explorer, отображение echo% cmdcmdline%:
cmd /c ""D:\Path\test.cmd" "
При выполнении пакетного файла« test.cmd »из окна командной строки отображается
echo% cmdcmdline% зависит от того, как было запущено командное окно ...
Если я запускаю «cmd.exe», нажимая «Start-Orb» и «Командная строка», или если я нажимаю «Start-Orb "и выполните" cmd.exe "из окна поиска / запуска.Затем я запускаю пакетный файл «test.cmd», отображение echo% cmdcmdline%:
"C:\Windows\system32\cmd.exe"
Кроме того, для меня, если я нажимаю «Командная строка» в ярлыке на рабочем столе, затем выполняюпакетный файл "test.cmd", отображение echo% cmdcmdline% также:
"C:\Windows\system32\cmd.exe"
Но если я щелкну правой кнопкой мыши внутри окна Windows Explorer и выберу "Открыть командную строку здесь"", затем выполните командный файл" test.cmd ", отображение echo% cmdcmdline%:
"C:\Windows\System32\cmd.exe" /k ver
Так что будьте осторожны, если вы запускаете" cmd.exe "из ярлыка, которыйсодержит "/ c" в поле "Target" (маловероятно), тогда тест в предыдущем примере не сможет правильно проверить этот случай.