2017-09-05 54 views
0

我试图在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" 

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

+4

请勿使用'cmd/k'并删除命令周围的引号。 – Squashman

+2

最好引用路径。 –

+0

为什么不直接运行官方的SAP Uninstall脚本? –

回答

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 
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" 
+0

另外,'%USERPROFILE%\ AppData \ Local'可以替换为'%LOCALAPPDATA%'。 –

+0

谢谢@Klitos,现在添加它。 – Compo

相关问题