如何使用bat文件中的PowerShell处理密码中的空格

问题描述

我在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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...