[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]nircmd随机读取一行文本?

Copy the content of info1.txt (simple text file) to the clipboard          nircmd.exe clipboard readfile "c:\My Files\info1.txt"

看到nircmd中有一条帮助,来了兴趣,不知能否做到让其,随机读取一行文本?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

取消关注 以下是新回复

[文本处理] [已解决]nircmd随机读取一行文本?

以下内容来自网络:
  1. '用vbs实现随机读取文件的一行内容的脚本
  2. '发布:dxy 字体:[增加 减小] 类型:转载
  3. '复制代码 代码如下:
  4. randomize
  5. set fso = CreateObject("Scripting.Filesystemobject")
  6. set a = CreateObject("Scripting.Dictionary")
  7. set file = fso.OpenTextFile("a.txt")
  8. do while file.AtendofStream<>true
  9. m = m + 1
  10. a.add m,file.readline
  11. loop
  12. file.close
  13. h=int(rnd * m)
  14. msgbox "第" & h & "行: " & a(h) ,4096,"随机内容"
复制代码

  1. REM 用vbs遍历文件并随机显示的脚本
  2. REM 发布:dxy 字体:[增加 减小] 类型:转载
  3. set ws=createobject("wscript.shell")
  4. set fso=createobject("scripting.filesystemobject")
  5. set folder=fso.getfolder(ws.currentdirectory)
  6. set files=folder.files
  7. for each file in files
  8. d=d & file.name & ","
  9. next
  10. Randomize
  11. Do Until D = ""
  12. s = Split(D, ",")
  13. M = UBound(s)
  14. h = Int(Rnd * M)
  15. N = s(h)
  16. sn = sn & N & vbcr
  17. D = Replace( D, N & ",", "",1,1)
  18. Loop
  19. MsgBox sn
复制代码
1

评分人数

『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

以下内容来自网络:
yu2n 发表于 2013-4-9 16:09


那是不是 nircmd没法搞成了呢?
上面的最后一句话,弹框:

能不能结合,下面这句话再改改:换成将读到的内存放入剪贴板。(或直接改成)
将剪切板中内容添加到文本info1.txt中
nircmd.exe clipboard addfile "c:\My Files\info1.txt"

TOP

这样写
G:\PowerPro_4.9n7\配置文件夹\nircmd.exe clipboard readfile a(h) ,4096
不行呢?

TOP

告诉你们个好消息,通过搜索,我发现一个大才的博客。http://hi.baidu.com/hyhoekey/ite ... 68a2618cc5827ebd934
通过交流,俺修改了下。终于解决了。

TOP

本帖最后由 我来了 于 2013-4-15 22:08 编辑

完整 的代码是这样的:
randomize
set fso = CreateObject("Scripting.Filesystemobject")
set a = CreateObject("Scripting.Dictionary")
set file = fso.OpenTextFile("C:\Documents and Settings\Administrator\桌面\3.txt")
do while file.AtendofStream<>true
        m = m + 1
        a.add m,file.readline
loop
file.close
h=int(rnd * m)

WshShell.run "G:\PowerPro_4.9n7\配置文件夹\nircmd.exe clipboard set " & chr(34) & a(h) & chr(34)

这样写会报错的。
    脚本  :     C:\Documents and Settings\Administrator\桌面\新建 文本.vbs
    行:        13
    字符:       2
    错误:       缺少对象: 'WshShell'
    代码:       800A01A8
    源:        Microsoft VBScript 运行时错误

对VBS压根不入流,我猜测可能前面少了定义

以 WshShell google搜索,专门找运行之类的东西,结果换成下面的,就OK了。





必须搞成这样:
randomize
set fso = CreateObject("Scripting.Filesystemobject")
set a = CreateObject("Scripting.Dictionary")
set file = fso.OpenTextFile("C:\Documents and Settings\Administrator\桌面\3.txt")
do while file.AtendofStream<>true
        m = m + 1
        a.add m,file.readline
loop
file.close
h=int(rnd * m)

CreateObject("WScript.Shell").Run "G:\PowerPro_4.9n7\配置文件夹\nircmd.exe clipboard set " & chr(34) & a(h) & chr(34)

TOP

这样当我用神器PowerPro定义一个热键后,就能随时随机读取一行到剪贴板了。

这样,我再把这个加进去。就更好用了。

TOP

返回列表