簡體   English   中英

腳本批處理不適用於.bat文件,但如果在命令提示符下編寫,則可以使用

[英]Script batch does not work in a .bat file, but works if written in a command prompt

我的問題是,我必須從系統注冊表中刪除每個包含特定單詞的鍵和子鍵(可以更改,它始終是同一個單詞)

到現在為止,我已經批量創建了一個腳本,該腳本以.txt文件導出包含要搜索的單詞的每個鍵和子鍵,並使用vbs腳本可以修改鍵的名稱(因為REG QUERY導出鍵類似於“ HKEY_LOCAL_MACHINE”和“ REG DELETE”只需要“ HKLM”,然后使用另一個腳本,我需要搜索QUERY導出的每個鍵(或子鍵)並將其刪除。

SET /P keyword="insert keyword to search: "
REG EXPORT HKCU HKCU.reg
REG QUERY HKCU /f %Chiavediricerca% /s >logHKCU.txt
cscript replace.vbs "logHKCU.txt" "HKEY_CURRENT_USER" "HKCU"
FOR /F "delims=;" %i in (logHKCU.txt) do REG DELETE "%i" /va /f

現在我的問題是,如果我在命令提示符下寫每一行,腳本會很好地工作,但是如果我將此代碼放在.bat文件中,則腳本在使用FOR命令時會停止,關閉cmd而不會顯示任何錯誤...

有什么建議嗎? 對不起,如果我的英語還不夠完善,謝謝您能給我的一切幫助!

在批處理腳本中,應將FOR命令的變量的百分號加倍。 這在FOR命令幫助中有所說明(在命令提示符下for /? ):

要在批處理程序中使用FOR命令,請指定%% variable而不是%variable。 變量名稱區分大小寫,因此%i與%I不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM