我正試圖刪除我創建的批處理文件中的某些註冊表項。REG在批處理文件中刪除一個包含引號的值嗎?
我發現這裏的下面的代碼,直到它擊中REG刪除它做工不錯
for /F "tokens=1,*" %%a in ('REG QUERY "%KEY%" ^| findstr /I /C:"%VALUE%"') do (REG DELETE %KEY% /v %%a)
的值位於下[HK_CLASSES_ROOT \安裝\組件\全球]
正如你可能會看到,這裏的大多數值都有引號,例如:
ADODB,fileVersion="7.10.2346.0",version="7.0.3300.00",culture="neutral",publicKeyToken="B03F5F7F11D50A3A"
這不完全是我想要刪除的,但它非常接近。
因此,如果我回顯%% a它顯示值名稱,因爲它是在引號和一切註冊表中。 但是一旦它通過REG DELETE(現在它要求確認),引號就不存在了,所以如果我點擊是,它會告訴我它找不到密鑰。
很明顯,它不能解析它最初發現的相同的東西。我一直在努力尋找解決方案,但迄今爲止我還沒有找到任何幫助我朝正確方向發展的東西。我知道我可以在vbs中做同樣的事情,但這是一條很長的路線,而在vbs中,做同樣的工作會更長。
任何幫助表示讚賞,如果你需要更多的信息要求離開,我只是開始亂七八糟的批處理文件。我做了這個,因爲我需要給每個我在學校工作時間自動完成所有的依賴關係的安裝過程中爲我校工程(計算機被幻像)
感謝
我發現http://stackoverflow.com/questions/12822801/registry-value-with-quotes[/link]我沒有在之前絆倒他們建議逃逸引號,我要去看看它以編程方式進行並更新我的答案。 – Rayfloyd
是的 - 我剛剛測試過,並且引號必須轉義爲'\「' – dbenham
我有這個到目前爲止對於/ F」tokens = 1,*「%% a in('REG QUERY」%KEY%「^ | FINDSTR/I/C: 「%VALUE%」')做( 集合b = %%一個 集b =%b: 「= \」 % 回聲REG DELETE%KEY%/ v%的b% )'但似乎b總是空的,我認爲我做錯了一些事情,我現在正在努力解決這個問題 – Rayfloyd