2012-04-24 243 views
9

我有一個Windows .bat腳本,我嘗試在參數中使用密碼運行命令。我想要使​​用的密碼是[email protected]#$%^&*()_+|-=\][{}';:"/.>?,<轉義cmd中的特殊字符

從我讀的here,我應該逃脫^&|\<>^。從我的假設,我應該逃脫"\"

這給了我這樣的事情:

runme.exe /password:"[email protected]#$%^^^&*()_+^|-=^\][{}';:\"/.^>?,^<" 

但它不工作 - 我的目標應用程序與登錄失敗響應。

我應該如何轉義所有這些字符才能在我的批處理中對密碼進行硬編碼(現在忽略安全問題)?

+0

http://stackoverflow.com/questions/1741546/how-to-input-特殊字符在cmd – Atara 2012-04-24 10:34:14

+0

所以你建議'/密碼:〜!@#$%^^^&*()_ +^| - = = \] [{}';:「/.^>? ,^''不行,不起作用 – NOtherDev 2012-04-24 10:38:48

+2

%很特別,%%似乎逃脫它 – jon 2012-04-24 10:45:41

回答

10

雙密碼中的報價,並確保完整的密碼用引號括起來還有:

runme.exe /password:"[email protected]#$%%^^^&*()_+^|-=\][{}';:""/.>?,<" 
+0

工作方式:'/ password:」〜!@#$ %% ^&*()_ + | - = \] [{}';: 「」/>,<?「'(沒有額外的''^引號內)非常感謝 – NOtherDev 2012-04-24 12:27:11

+0

如果你有%的你!密碼 - 嘗試使用%%。 更多信息:http://www.robvanderwoude.com/escapechars.php – 2017-08-07 15:29:27

1

試試這個,但是如果runme.exe的參數解析器需要引號作爲密碼的字符串封裝器,那麼它不會起作用。如果你需要在你的密碼中有一個報價,那麼runme.exe需要提供一種逃避它的方法!

runme.exe /password:[email protected]#$%%^^^&*()_+^|-=\][{}';:"/.>?,< 
+0

仍然沒有運氣。提供逃生方法意味着什麼?不幸的是,我無法控制'runme.exe'。你是否暗示'runme.exe'可能無法用'''支持密碼? – NOtherDev 2012-04-24 12:01:54

+0

我這麼認爲,但是Christian.K的建議聽起來不錯。「 – jon 2012-04-24 12:15:05