我有批處理檔案(例如:test.bat),其中包含一些引數,一個是登錄名,第二個是密碼。密碼包含特殊字符(密碼!?>),所以為了防止執行特殊字符,我用雙引號(“密碼!?>”)傳遞它,但我需要將它傳遞給下一批啞mysql資料庫,所以密碼必須沒有“”,我怎樣才能像沒有雙引號的普通字串一樣傳遞我的密碼而不執行這個特殊字符?
uj5u.com熱心網友回復:
以下是一種安全地捕獲腳本引數并使用它們的方法。
@Echo off
Rem # input capture method is a modified version of Dave Benhams method:
Rem # https://www.dostips.com/forum/viewtopic.php?t=4288#p23980
SETLOCAL EnableDelayedExpansion
1>"%~f0:Params.dat" <"%~f0:Params.dat" (
SETLOCAL DisableExtensions
Set prompt=#
Echo on
For %%a in (%%a) do rem . %*.
Echo off
ENDLOCAL
Set /p "Args="
Set /p "Args="
Set "Args=!Args:~7,-2!"
) || (
1>&2 Echo(%~nx0 requires an NTFS drive system to function as intended.
CMD /C Exit -1073741510
) || Goto:Eof
Echo(some command !Args:"=!
Pause
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420397.html
標籤:
下一篇:批處理檔案過濾器回圈輸出
