批处理文件taskkill / IM cmd.exe没有关闭cmd.exe

时间:2013-07-19 18:58:24

标签: batch-file

我有一个批处理文件,它会移动一些文件并启动一个程序,由于某种原因,在批处理文件通过其中的所有命令后,它不会关闭。命令提示符在屏幕上保持打开状态,因此我想将其关闭。

我尝试在批处理文件的末尾键入taskkill / IM cmd.exe作为最后一行命令,但它仍然没有关闭cmd.exe,任何想法为什么?应该关闭它吗? 这是批处理文件:

@echo off


mkdir C:\Windows\Temp

if exist "C:\Users\" goto win7

if exist "C:\Documents and Settings\" goto winxp

:win7
mkdir C:\folder1
xcopy /s /Y \\server1\Public C:\folder1
C:\folder1\application1

goto exit

:winxp
mkdir "C:\Documents and Settings\All Users\Application Data\Organization\orgapp"
mkdir C:\folder1

xcopy /s /Y \\server1\Public C:\folder1
xcopy /s /Y C:\folder1\xp\application1  "C:\Documents and Settings\All    Users\Application Data\Organization\orgapp"

xcopy /s /Y C:\folder1\xp\application2 "C:\Documents and Settings\All Users\Application    Data\Organization\orgapp"
"C:\Documents and Settings\All Users\Application Data\Organization\orgapp\application1"
goto exit

:exit
taskkill /IM cmd.exe

5 个答案:

答案 0 :(得分:6)

您可以尝试:

@echo off
taskkill /f /im cmd.exe
:exit

答案 1 :(得分:2)

您需要“以管理员身份运行”才能正确调用taskkill

答案 2 :(得分:1)

在两个地方尝试start "" "C:\folder1\application1"并删除taskkill命令(如果需要,可将其替换为exit/b)。这里需要额外的双引号。

答案 3 :(得分:0)

我建议使用:

:出口
出口

或调用另一个文件:

exit / b将终止cmd.exe,而不仅仅是脚本,如果它在同一个文件中。

我认为“退出”无论如何都应该可行。

答案 4 :(得分:0)

我不知道你想做什么...但如果你想退出/关闭那些刚刚使用的批处理文件

:Exit
exit

如果您想强制关闭其他应用程序,请尝试此命令

:Exit 
Taskkill /IM cmd.exe /f /t

示例:(这仅用于教育目的。)

@echo off`
. Press continue if you wanna close explorer.exe.
pause
Taskkill /IM explorer.exe /f /t

该函数将终止explorer.exe的任务