我試過下面的批處理腳本,在特殊字符!
的情況下表現不同。批處理腳本在特殊字符`!`的情況下無法正常工作?
腳本test.bat
:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
set "psCommand=powershell -Command "$pword = read-host 'Enter Password' -AsSecureString;^
$BSTR=System.Runtime.InteropServices.Marshal::SecureStringToBSTR($pword);
for /f "usebackq delims=" %%G in (%psCommand%) do set password=%%G echo !password!
輸出:
C:\Users\abc>test.bat Enter Password: ********* Hello123
在這裏,我已經進入Hello!123
但在輸出!
丟失。
嘗試'回聲%密碼%' – Stephan
如果設置EnableDelayedExpansion呢!是一個變量名稱。這是基本的東西。 – 2016-03-28 10:09:28