Batch file 如何计算SET命令批的字符数并对其进行“加密”

Batch file 如何计算SET命令批的字符数并对其进行“加密”,batch-file,encryption,Batch File,Encryption,我又需要帮助了。 这次我需要在某种程度上从命令集中计数字符,有什么办法吗? 这是我的代码,我需要将密码加密到*,并回显它。 这是我的密码: :REGISTER CLS SET /P USERNAME=Username: SET /P PASSWORD=Password: CLS ECHO Username: %USERNAME% ECHO Password: ******** <<<<< Here's where i wan't to "encrypt" the

我又需要帮助了。 这次我需要在某种程度上从命令集中计数字符,有什么办法吗? 这是我的代码,我需要将密码加密到*,并回显它。 这是我的密码:

:REGISTER
CLS
SET /P USERNAME=Username: 
SET /P PASSWORD=Password: 
CLS
ECHO Username: %USERNAME%
ECHO Password: ******** <<<<< Here's where i wan't to "encrypt" the password to *'s
SET /P CONFIRM_PASSWORD=Confirm password: 
:MOREcodes
编辑以适应评论。将*s存储在变量中

@echo off
    setlocal enableextensions enabledelayedexpansion

    set "password=0123456789 <&^!**$."

    set "maskedPassword="
    for /f "delims=" %%a in (
        'cmd /v:on /q /u /c"echo(^!password^!"^|more'
    ) do (
        set "maskedPassword=!maskedPassword!*"
    )

    echo(!password!
    echo(%maskedPassword%

很好,但是如何将*保存到变量?
@echo off
    setlocal enableextensions disabledelayedexpansion

    :: save value into password variable

    set "password=0123456789 <&!**$."

    :: echo value to console (to test length)

    setlocal enabledelayedexpansion
    echo(!password!
    endlocal

    :: echo *s for each character in password

    for /f "delims=" %%a in (
        'cmd /v:on /q /u /c"echo(!password!"^|more'
    ) do (set/p"=*"<nul)
@echo off
    setlocal enableextensions enabledelayedexpansion

    set "password=0123456789 <&^!**$."

    set "maskedPassword="
    for /f "delims=" %%a in (
        'cmd /v:on /q /u /c"echo(^!password^!"^|more'
    ) do (
        set "maskedPassword=!maskedPassword!*"
    )

    echo(!password!
    echo(%maskedPassword%