Board logo

标题: [文本处理] [已解决]求救批处理如何实现复制记事本中某行的内容到剪贴板中呢? [打印本页]

作者: kofbld    时间: 2014-10-16 00:25     标题: [已解决]求救批处理如何实现复制记事本中某行的内容到剪贴板中呢?

本帖最后由 kofbld 于 2014-10-31 00:40 编辑

比如我指定文件为abc.txt,内容如下
aaaaa
bbbbb
ccccc
我想用批处理或者vbs实现复制指定abc.txt第二行的内容到剪贴板,不需要弹窗,可以在脚本运行结束后用ctrl+v粘帖。
作者: terse    时间: 2014-10-16 01:02

  1. @echo off
  2. type a.txt|mshta "javascript:clipboardData.setData('text',new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).ReadAll().split('\r\n')[1]);close()"
复制代码

作者: kofbld    时间: 2014-10-16 09:21

1回复 2# terse
测试成功了呢!太牛了,你的代码又简单又有效,虽然我没看大明白!看来论坛里好多高手,以后要多多学些脚本了!再次感谢你啊!
作者: kofbld    时间: 2014-10-16 10:14

本帖最后由 kofbld 于 2014-10-16 10:15 编辑

现在我想根据计算机名来决定复制第几行 怎么操作呢?
计算机名是stu1,stu2……stu11,比如我想stu1机子复制a.txt中的第1行,stu11的机子复制a.txt中的第11行。。。
两个问题:1、用什么函数能读取计算机名呢?2、读取到的计算机名,怎么截取后面的数字,然后把这个数字存到变量中,传递给参数呢?
麻烦各位热心的兄弟,不吝赐教!
作者: DAIC    时间: 2014-10-16 10:26

回复 4# kofbld


读取计算机名
  1. echo %computername%
复制代码

作者: kofbld    时间: 2014-10-16 11:03

回复 5# DAIC


    echo %computername:~3,3%,这个可以读取,那现在怎么结合上面代码,根据计算机名 n 来复制a.txt中第N行的内容呢?
作者: DAIC    时间: 2014-10-16 13:11

回复 6# kofbld
  1. @echo off
  2. set /a n=%computername:~3%-1
  3. type a.txt|mshta "javascript:clipboardData.setData('text',new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).ReadAll().split('\r\n')[%n%]);close()"
复制代码

作者: kofbld    时间: 2014-10-16 14:17

回复 7# DAIC


    是啊,已经解决了呢!感谢批处理之家的兄弟们热心帮助!小弟已经开始喜欢脚本了,以前学的是sp皮毛,能不能麻烦你注释下,这些语句都怎么用啊?
作者: DAIC    时间: 2014-10-16 14:25

回复 8# kofbld


    这事不能着急,找些教程慢慢学。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2