2017-09-05 223 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