如何使用批处理文件将变量作为剪贴板发送

How to send a variable as an clipboard with batch file

我无法将准备好的变量发送到 CLIPBOARD

我正在尝试从使用 gswin64c 生成的 txt 文件中获取一些数据,然后从该数据中删除前两个空格并使用命令 CLIP 将其发送到剪贴板。

Content.txt里面的数据是:

016<3885180>190787>21246299690091:

016前有两个空格

我用

set /p input=<Content.txt

读取此数据并将其保存在一个变量中,并将其命名为 "input"

然后我用这个回显命令显示它

echo %input%

然后我尝试将它发送到 CLIPBOARD,而不是两个第一个字符,即两个拳头空格

echo %input:~2% | CLIP

但是我没有像预期的那样得到最后一个命令 运行,所以我没有在我的剪贴板上得到这个变量的内容

我会这样做:

@Set /P "input="<"content.txt"
@Set /P "=%input:~2%"<NUL|Clip

我不会删除两个字符,而是让 for /F 删除前导空格:

for /F "usebackq tokens=* eol= " %%I in ("Content.txt") do (
    set "LINE=%%I" & cmd /V /C echo/!LINE!| clip
    goto :NEXT
)
:NEXT

当文本文件 Content.txt 只包含一行时,或者当您想要 return 最后一行时,不需要行 goto :NEXT:NEXT比第一个.