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

[文本处理] [已解决]批处理怎样将剪贴板中的内容保存为文本?

[复制链接]
发表于 2015-6-30 08:47:09 | 显示全部楼层 |阅读模式
运行批处理后将剪贴板中的内容保存到桌面新创建的 12.txt文本中

麻烦高手帮忙写一个

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2015-6-30 10:49:40 | 显示全部楼层
麻烦高手帮忙写一下 谢谢
发表于 2015-6-30 12:35:23 | 显示全部楼层
在桌面运行
  1. @echo off
  2. mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"|more >12.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-6-30 14:10:26 | 显示全部楼层
回复 3# terse


    感谢你  测试成功
发表于 2017-9-27 09:43:08 | 显示全部楼层
本帖最后由 窄口牛 于 2017-9-27 10:03 编辑

]这个有时候末尾的一个文字会变成l两个问号。脚本之家搜到一个。
  1. set fso=createobject("scripting.filesystemobject") : name=1
  2. Dim na
  3. 'na=Inputbox("请输入拓展名:","拓展名","txt")
  4. na="txt"
  5. while fso.fileexists(name&"."&na)=true
  6. name=name+1
  7. wend
  8. set o=fso.opentextfile(name&"."&na,2,true)
  9. set hf=Createobject("htmlfile")
  10. wind=hf.parentwindow.clipboarddata.getdata("text")
  11. o.writeline wind : o.close
复制代码
发表于 2017-9-27 16:41:04 | 显示全部楼层
  1. xclip /get >文件.txt
复制代码
下载:http://www.bathome.net/thread-31140-1-1.html
发表于 2025-9-28 17:49:26 | 显示全部楼层
在桌面运行
terse 发表于 2015-6-30 12:35


遇到带空格的字符串就会被截断,有没有方法解决?
发表于 2025-9-28 19:40:08 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-9-28 19:48 编辑

回复 7# piazini

试试以下批处调用 powershell 功能的版本(存为批处脚本文件运行),没有屏闪,而批处调用 mshta 会导致屏闪。结果文件存为桌面上的 test.txt(路径文件名可自定义),其文件编码与当前码页一致...

  1. @echo off &powershell -c "add-type -as system.windows.forms;[windows.forms.clipboard]::getText()">"%userprofile%\desktop\test.txt"
  2. pause&exit/b
复制代码
发表于 2025-9-30 00:59:08 | 显示全部楼层
发表于 2025-10-8 13:17:50 | 显示全部楼层
回复  piazini

试试以下批处调用 powershell 功能的版本(存为批处脚本文件运行),没有屏闪,而批处调 ...
aloha20200628 发表于 2025-9-28 19:40


谢谢。
我在 Win7上运行,应该是powershell 版本低,没效果。
发表于 2025-10-8 14:26:10 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-10-8 14:27 编辑

回复 10# piazini

试试以下这个版本,存为 test.bat 运行。如果剪贴板有文本数据,运行结果会在桌面生成一个 test.txt 文件,已在 win7 系统测试通过 ...

  1. 2>1/* ::
  2. @echo off &for /f "delims=" %%s in ('cscript /nologo /e:jscript "%~f0" ') do (echo,%%s)>"%userprofile%\desktop\test.txt"
  3. exit/b */
  4. h=WSH.createobject('htmlfile'), s=h.parentWindow.clipboardData.getData('text'); if (s) WSH.echo(s);
  5. WSH.quit();
复制代码
发表于 2025-10-8 18:29:05 | 显示全部楼层
本帖最后由 piazini 于 2025-10-8 18:42 编辑
回复  piazini

试试以下这个版本,存为 test.bat 运行。如果剪贴板有文本数据,运行结果会在桌面生成一 ...
aloha20200628 发表于 2025-10-8 14:26


谢谢,确实能生成 txt。能说说你那几行是啥意思么,头一次见这样的写的。

我想要的效果,bat执行新建文件夹,文件夹名称是读取剪切板里的内容。
我是下面这样写的,但是遇到空格的字符串就截断了,给%clip%加双引号也不行

  1. @REM 获取剪切板内容
  2. for /F %%i in ('mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') do ( set "clip=%%i")

  3. SET Today=%year%%month%%day%-%HH%%MM%_"%clip%"
  4. md %Today%
复制代码
3楼的 结尾有 |more,我的没有加,加上就窗口一闪而过了
发表于 2025-10-8 18:34:21 | 显示全部楼层
不介意第三方,可以用 winclip.exe 本站可下载
  1. for /f "delims=" %%a in ('winclip -p') do md "%%a"
复制代码
发表于 2025-10-8 18:43:51 | 显示全部楼层
不介意第三方,可以用 winclip.exe 本站可下载
77七 发表于 2025-10-8 18:34



    谢谢,不打算用第三方,迁移还要装软件,还是优先考虑原生的方法
发表于 2025-10-8 19:29:18 | 显示全部楼层
回复 12# piazini

在批处脚本所在目录下创建一个子目录,子目录名取自剪贴板字符串...

  1. 2>1/* ::
  2. @echo off &for /f "delims=" %%s in ('cscript /nologo /e:jscript "%~f0" ') do (md "%%~s" 2>nul)
  3. pause&exit/b */
  4. h=WSH.createobject('htmlfile'), s=h.parentWindow.clipboardData.getData('text'); if (s) WSH.echo(s);
  5. WSH.quit();
复制代码
以上代码存为 test.bat 运行,采用 bat+jscript 混编结构...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:06 , Processed in 0.030681 second(s), 13 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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