问题描述
我在bat文件中用来屏蔽密码的以下代码。那就是PowerShell代码。之前它工作正常。当我在CMD中输入密码时,它以星号形式出现,但是今天我更改了密码,并在密码中添加了一个空格,以测试场景。现在,如果我的密码中有空格,我将无法登录该会话。此代码不处理密码中的空格,但是如果您的密码中有特殊字符,它可以处理任何情况。
@ECHO OFF
REM SET /p v_username='Enter user ID: '
::SET /p v_password=Enter user password:
powershell -Command $v_password = read-host "Enter User Password" -AsSecureString; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($v_password) ; ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) > .tmp.txt
set /p v_password=<.tmp.txt & del .tmp.txt
::ECHO %v_password%
如果密码中有空格,如何屏蔽密码。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)