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


2

我想使用bat文件将密码复制到剪贴板。我尝试了一些像

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

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

有什么建议 ?


-1 KISS尝试echo %echo %|clip 然后如果你有个问题,然后问。密码无关紧要。故障排除和排除要求您简化示例以演示问题。因此,如果你的问题是%,那么从你的例子中删除Ps5dPq $'因为它只是垃圾
barlop 2015年

Answers:


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参数具有特殊含义。

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

%%

语法:转义字符,分隔符和引号


进一步阅读


0

试试这个

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

%逃脱%



@barlop好点。我不确定为什么回声%不起作用。
2015年

它可以从命令行运行,但不能在批处理文件中运行。
DavidPostill

固定!我记得你需要%%语法来制作%echo
td512 2015年

Drat,你在我编辑我的完整答案时纠正了你的答案 - 这不公平;)
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.