使用批处理脚本将密码复制到剪贴板

使用批处理脚本将密码复制到剪贴板

我想使用 bat 文件将密码复制到剪贴板。我尝试了一些建议,例如

echo|set /p=Ps5dP%q$@mxnx|clip

但问题是,它不会将 % 符号复制到剪贴板。上面的脚本可以工作,但没有 % 符号。

有什么建议 ?

答案1

它不会将 % 符号复制到剪贴板

从命令行

F:\test>echo|set /p=Ps5dP%q$@mxnx|clip

F:\test>Ps5dP%q$@mxnx

该命令按预期工作。


从批处理文件

该命令未按预期工作。您可以看到echo命令文件中的 已删除%

F:\test>type test.cmd 
echo|set /p=Ps5dP%q$@mxnx|clip

F:\test>test

F:\test>echo | set /p=Ps5dPq$@mxnx  | clip

F:\test>Ps5dPq$@mxnx

批处理文件的解决方案

转义%(替换%%%

F:\test>type test.cmd
echo|set /p=Ps5dP%%q$@mxnx|clip

F:\test>test

F:\test>echo | set /p=Ps5dP%q$@mxnx  | clip

F:\test>Ps5dP%q$@mxnx

为什么我需要转义 % 字符?

转义百分号

%字符对于命令行参数和参数有特殊含义FOR

要将百分比视为常规字符,请将其加倍:

%%

来源语法:转义符、分隔符和引号


进一步阅读

答案2

尝试这个

echo|set /p=Ps5dP%%q$@mxnx|clip

逃脱%%

相关内容