У меня есть следующее для цикла внутри командного файла:
for /l %%x in (1, 1, %k%) do (
set "psCommand=powershell -Command "$pword = read-host 'Enter Password2' -AsSecureString ; $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword) ; [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set password=%%p
)
И я всегда получаю следующую ошибку: [System.Runtime.InteropServices.Marshal] :: PtrToStringAuto ($ BSTR) "" был неожиданным в это время.
Когда я запускаю команду вне цикла for, она работает.
Что случилось?
это работает вне цикла for, поэтому я предполагаю, что кавычки не проблема здесь
—
user1563721
Как вы запускаете команду вне цикла for? Как насчет размещения команды между одинарными кавычками и ввода пароля2 между двойными кавычками?
—
Lieven Keersmaekers
set
и один для-Command
и они, вероятно, отменяют друг друга.