编写批处理来运行多个命令?

时间:2017-09-05 20:45:24

标签: batch-file cmd

我试图在BAT文件中运行多个命令,但它只运行第一个命令,然后停止。这就是我所拥有的:

cmd /k "reg delete HKEY_LOCAL_MACHINE\SOFTWARE\SAP /f"
cmd /k "reg delete HKEY_USERS\.DEFAULT\Software\SAP /f"
cmd /k "RD /S /Q C:\Users\%USERNAME%\AppData\Local\SAP /f"
cmd /k "RD /S /Q C:\Users\%USERNAME%\AppData\Roaming\SAP /f"
cmd /k "RD /S /Q C:\Program Files\SAP /f"
cmd /k "RD /S /Q C:\Program Files (x86)\SAP /f"

成功运行第一个命令然后停止。

2 个答案:

答案 0 :(得分:2)

我认为你不需要cmd /k部分。你有这样的尝试吗?

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\SAP /f
reg delete HKEY_USERS.DEFAULT\Software\SAP /f
RD /S /Q "C:\Users\%USERNAME%\AppData\Local\SAP" /f
RD /S /Q "C:\Users\%USERNAME%\AppData\Roaming\SAP" /f
RD /S /Q "C:\Program Files\SAP" /f
RD /S /Q "C:\Program Files (x86)\SAP" /f

答案 1 :(得分:2)

简单地删除cmd /k的实例将是您脚本的最大改进。 然而,这个版本做了一些不那么重要的改进。

@Echo Off
Reg Delete "HKLM\SOFTWARE\SAP" /F>Nul
Reg Delete "HKU\.DEFAULT\Software\SAP" /F>Nul
RD/S/Q "%LOCALAPPDATA%\SAP"
RD/S/Q "%APPDATA%\SAP"
RD/S/Q "%PROGRAMFILES%\SAP"
RD/S/Q "%PROGRAMFILES(X86)%\SAP"