以下鍵具有多個值,如「查找」,「查找0」,查找1「,」查找2「等。 \ 9.0 \查找批處理文件刪除註冊表中某個鍵中的多個值
值與使用增加,我有最大數量的先驗知識。 目標是不知道的最大值事先創建一個批處理文件來刪除所有的「查找*」的價值觀。
我嘗試了以下最大數量= 10:
@ECHO OFF
FOR /L %%G IN (0,1,10) DO REG DELETE HKCU\Software\Microsoft\VisualStudio\9.0\Find /v "Find %%G" /f
PAUSE
如果我對此沒有想法,我該如何循環至最大值?
我可以把一個像100這樣的大數字循環。但那將是不必要的循環。
理念:
後達到最大數量就拋出一個錯誤控制檯
"Error: The system was unable to find the specified registry key or value"
我想捕捉這一個變量,並檢查字符串「錯誤... 。「,如果爲true,則終止循環。 我不知道如何做到這一點。
這是完美的。非常感謝Andriy。 – ontherocks 2011-04-18 06:14:42
我有幾個問題 1.「||之後的命令只有在||之前的命令導致錯誤時纔會執行。」這種說法對任何控制檯命令中的所有錯誤都是真實的嗎我很困惑,因爲「REG DELETE」命令沒有返回值。 2.還有一個值「查找」,它沒有任何尾隨號碼。我將如何刪除使用相同的goto循環? – ontherocks 2011-04-18 06:17:09
@ontherocks:1.它與所謂的退出代碼*有關,它由任何應用程序返回。它不顯示,但可以使用'IF ERRORLEVEL'指令進行檢查,2)通過讀取'ERRORLEVEL'環境變量,或者3)在'&&'和'||'運算符的幫助下進行檢查。你可以閱讀更多關於它[這裏](http://www.robvanderwoude.com/errorlevel.php)。 2.我添加了一個修改後的解決方案,但通常你應該發佈一個新問題。 (雖然你的要求與你最初的問題密切相關,但它會改變我原來的方法。)請記住未來。 – 2011-04-18 07:11:51