Как cmd.exe может быть автоматически закрыт после выполнения? - PullRequest
1 голос
/ 05 января 2020

Я запускаю cmd.exe для перемещения файла с правами администратора:

ThisParams := '/K move ' + '"' + ThisSourceFile + '"' + ' ' + '"' + ATargetFile + '"';
Winapi.ShellAPI.ShellExecute(0, 'runas', 'cmd.exe', PChar(ThisParams), '', Winapi.Windows.SW_HIDE);

Однако процесс cmd.exe (хотя и невидимый) после выполнения остается активным и находится в памяти и остается видимым в диспетчере задач.

Как в этом случае cmd.exe автоматически закрывается после выполнения?

1 Ответ

5 голосов
/ 05 января 2020

Когда задокументировано /k, интерпретатор команд продолжает работать после выполнения переданной команды. Вместо этого следует использовать

/ c Выполняет команду, указанную в String, а затем останавливается.

...