找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15765|回复: 7

[文本处理] 批处理如何读取剪切板内容并赋值?

[复制链接]
发表于 2024-6-26 09:58:27 | 显示全部楼层 |阅读模式
东拼西凑的代码,我弄很久没有成功。
文本是成功复制到剪切板了,但就是粘贴不出来。
帮我改改,谢谢!


  1. Set /p "T=自定义剪切板文本内容:"
  2. FOR /F "usebackq tokens=* delims=" %%U in (`mshta vbscript:clipboarddata.setdata^("text"^,"%T%"^)^(close^) 2^<nul`) Do Set "TT=%%U"
  3. FOR /F "usebackq tokens=* delims=" %%U in (`mshta vbscript:clipboarddata.getdata^("text"^)^(close^) 2^<nul`) Do Set "TT=%%U"
  4. echo %TT%
复制代码
发表于 2024-6-26 10:19:31 | 显示全部楼层
powershell -c " get-clipboard -raw"

powershell 5.1 , 注意多行问题
发表于 2024-6-26 10:53:34 | 显示全部楼层
  1. Set /p "T=自定义剪切板文本内容:"
  2. mshta vbscript:clipboarddata.setdata^("text","%T%")(close)
  3. FOR /F "delims=" %%U in ('mshta VBScript:Execute("CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(clipboarddata.getdata(""text""))"^)(close^)') Do Set "TT=%%U"
  4. echo %TT%
复制代码
 楼主| 发表于 2024-6-26 11:19:36 | 显示全部楼层
回复 2# Five66

非常感谢你的回复,但是因为考虑到我的电脑没有安装 powershell ,我不想用 powershell ,只想用纯属 bat 去实现呀。
发表于 2024-6-26 11:40:22 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-6-26 15:01 编辑

回复 1# mokson

  1. @set @x=1 /* &@echo off
  2. set/p "t=自定义剪切板文本内容:"
  3. set/p="%t%"<nul|clip &for /f "delims=" %%t in (' cscript /e:jscript "%~f0" ') do echo,"%%t"
  4. pause&exit/b */
  5. hf=WSH.createobject('htmlfile'),ct=hf.parentWindow.clipboardData.getData('text'),WSH.echo(ct);
复制代码

代码存为test.bat运行,实测mshta调用设置剪贴板内容的功能不稳定,可改用clip命令为宜,且批处调用mshta代码会用闪屏"致敬"。
 楼主| 发表于 2024-6-26 11:45:05 | 显示全部楼层
回复 3# buyiyang 成功了,代码有点长,我想想有没有方法精简一下。非常多谢。
发表于 2024-6-26 12:03:06 | 显示全部楼层
可以试试 第三方工具 winclip ,命令简单好记,调用速度我感觉挺快的
支持命令行调用的剪贴板工具winclip.exe
 楼主| 发表于 2024-6-26 16:12:18 | 显示全部楼层
如5楼兄台所说,调用mshta会闪屏,我还是放弃了这种方式去获取剪切板内容。但还是非常感谢大家的帮助。
我最终还是选择了用第三方工具。如7楼兄台推荐的 winclip,或者 nircmd。
用 nircmd 的话,用 nircmd execmd echo ~$clipboard$ ,或 nircmd consolewrite ~$clipboard$ 都可以轻易实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:21 , Processed in 0.092925 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表