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

时间:2019-08-30 09:40:50

标签: batch-file clipboard

我无法将就绪变量发送到CLIPBOARD

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

Content.txt中的数据是:

  

016 <3885180> 190787> 21246299690091:

016前有两个空格

我使用

set /p input=<Content.txt

读取此数据并将其保存在一个名为“输入”的变量中

然后我使用此echo命令显示它

echo %input%

然后我尝试将其发送到CLIPBOARD,而没有两个拳头空格的前两个字符

echo %input:~2% | CLIP

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

2 个答案:

答案 0 :(得分:3)

这就是我要做的:

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

答案 1 :(得分:2)

我将代替for /F删除前导空格:

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

当文本文件goto :NEXT仅包含一行,或者要返回最后一行而不是第一行时,不需要行:NEXTContent.txt。 / p>