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

[系统增强] 批处理拷贝文件(夹)到剪贴板

[复制链接]
发表于 2009-4-18 15:09:58 | 显示全部楼层 |阅读模式
  1. @echo off
  2. call :cf2cb "%comspec%"
  3. exit /b

  4. ::CopyFile2ClipBoard
  5. :cf2cb
  6. setlocal
  7. set "f=%~1"
  8. set "f=%f:\=/%"
  9. mshta "javascript:'<script language="vbscript">moveto screen.width,0:document.write "^<img"+chr(32)+"src=""%f%""^>":with document.body.createControlRange:.add document.getElementsByTagName("img")(0):.execCommand "Copy":end with:close</script>'"
  10. goto :eof
复制代码
————————————————————————————————————

Update 2009-4-20 17:45
修正路径中含空格不能复制的bug;
发现也可复制文件夹(包括里面的文件(夹))。
  1. @echo off
  2. call :c2cb "c:\a\a a"
  3. exit /b
  4. ::Copy2ClipBoard
  5. :c2cb
  6. setlocal
  7. set "f=%~1"
  8. set "f=%f:\=/%"
  9. set "f=%f: =r%"
  10. mshta "javascript:'<script language="vbscript">moveto screen.width,0:document.write Replace("^<imgrid=""x""rsrc=""%f%""^>","r",chr(32)):with document.body.createControlRange:.add x:.execCommand "Copy":end with:close</script>'"
  11. goto :eof
复制代码
——————————————————————————————————
Update 2009-4-24 14:20
优化了代码(参考7L代码)
  1. @echo off
  2. call :c2cb "%ProgramFiles%\microsoft frontpage"
  3. exit /b

  4. ::Copy2ClipBoard
  5. :c2cb
  6. setlocal
  7. set "f=%~1"
  8. set "f=%f:\\=\%"
  9. set "f=%f:\=\\%"
  10. mshta "javascript:moveTo(screen.width,0);document.write('<img id=\'x\' src=\'%f%\'>');i=document.body.createControlRange();i.add(x);i.execCommand('copy');close()"
  11. goto :eof
复制代码

评分

参与人数 3PB +35 技术 +1 收起 理由
fastslz + 5 猥亵技巧从良^_^
Batcher + 10 感谢分享
随风 + 20 + 1 牛!

查看全部评分

发表于 2009-4-18 15:39:49 | 显示全部楼层
牛!怎么实现的?那一堆代码根本看不懂。。
发表于 2009-4-18 15:48:15 | 显示全部楼层
调用万能的JS。。。

话说VBS不行么,HTA有clipboard对象的吧。。。
 楼主| 发表于 2009-4-18 15:54:24 | 显示全部楼层
发表于 2009-4-20 18:09:33 | 显示全部楼层
没必要再用vbscript吧。
 楼主| 发表于 2009-4-20 18:14:39 | 显示全部楼层

回复 5楼 的帖子

比较熟悉vbscript,没试过javascript,兄试试?
发表于 2009-4-21 17:27:28 | 显示全部楼层
我对html和javascript也没怎么研究
  1. @echo off
  2. call :cf2cb "%ProgramFiles%\microsoft frontpage"
  3. exit /b

  4. ::CopyFile2ClipBoard
  5. :cf2cb
  6. setlocal enableDelayedExpansion
  7. set "f=%~1"
  8. set "f=%f:\=\\%"
  9. set "f=!f: =%%20!"
  10. mshta "javascript:moveTo(screen.width,0);document.write('<img src=\'%f%\'>');i=document.body.createControlRange();i.add(document.getElementsByTagName('img')[0]);i.execCommand('copy');close();"
  11. goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
rat + 1

查看全部评分

 楼主| 发表于 2009-4-24 14:08:31 | 显示全部楼层

回复 7楼 的帖子

兄的代码可以不用替换空格
发表于 2021-1-14 15:19:44 | 显示全部楼层
批处理拷贝文件(夹)到剪贴板
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 20:18 , Processed in 0.013312 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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