2017-04-26 50 views
0

所以我試圖做一個批處理文件,運行時打開一個txt文件。批處理,加引號到參數停止reg工作

reg add HKCR\txtfile\shell\open\command /ve /t REG_EXPAND_SZ /d %0 /f 

到目前爲止好。但是當我打開文本文檔時,由於空間在%0中而出現錯誤。

reg add HKCR\txtfile\shell\open\command /ve /t REG_EXPAND_SZ /d "%0" /f 

這不會給我一個錯誤,但註冊表值不會改變。

reg add HKCR\txtfile\shell\open\command /ve /t REG_EXPAND_SZ /d ^"%0^" /f 

同樣的事情。 那麼我的問題在這裏呢?

+0

爲什麼REG_EXPAND_SZ?沒有什麼可以擴展,所以只需使用REG_SZ! – Compo

回答

1

轉義字符在這種情況下,(完全缺乏一致性的,我知道),是反斜槓:

Reg Add "HKCR\txtfile\shell\open\command" /VE /D \"%~0\" /F >Nul 
+0

C:/ Documents and settings/No Body/Desktop/txt.txt不是有效的Win32應用程序。在打開文本文件時:/ – Epic8009

+0

如果您查看註冊表項,則可以清楚地看到數據是包含初始腳本路徑的帶引號的字符串。這正是你所要求的,入場不做你想要的事實是無關緊要的。 – Compo

+0

其沒有改變的關鍵,我不得不手動把報價。 (windows xp是os btw)@Compo – Epic8009