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

[问题求助] 求修改VBS代码:读取TXT第一行到剪贴板,并删除该TXT第一行(合并同类项)

原因是这样的。我用按键精灵编了一个小程序。
(由于TXT文件有点大,结果用按键编出来的程序,读取的时候速度太慢,换成了VBS的代码简直就像飞。。。,罪过,又说了不少费话。
我想让它中转一下,所以出现上面的题目:

这个是按行读取的

On Error Resume Next
    strFileName = "H:\列表.txt"
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile(strFileName)

    If Err Then
        WScript.Echo Err.Number & vbCrLf & Err.Description
        Err.Clear
        WScript.Quit
    End If
   
    Do Until oFile.AtEndOfLine
        WScript.Echo oFile.ReadLine
    Loop


这个是随机读取一行的:

randomize
set fso = CreateObject("Scripting.Filesystemobject")
set a = CreateObject("Scripting.Dictionary")
set file = fso.OpenTextFile("G:\读取的.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:\nircmd.exe clipboard set " & chr(34) & a(h) & chr(34)这段中,我只对这句感兴趣。


帮助我修改下VBS代码:
最后只要做到:
读取c:\test.txt第一行到剪贴板,并删除该TXT第一行,就算OK了。


只因学生太饭桶~~~,老师见笑了~~

回复 2# Demon

罪过,罪过,主儿啊,饶恕我的无知吧。

TOP

最好原VBS基础上改改。

不过先发上来应下急也行。

TOP

本帖最后由 我来了 于 2013-5-11 20:16 编辑

谢谢楼上,
我把最后一句去了。
成功是成功了,但有个后遗症:进程中有大量的脚本未停止  从内存中释放啊。。。

TOP

Dim fso,openFile
Set fso=CreateObject("Scripting.FileSystemObject")
Set openFile=fso.OpenTextFile("c:\软件名1.txt",1,True)
a=openFile.Readline
str=a
Set ws = wscript.createobject("wscript.shell")
ws.run "mshta vbscript:clipboardData.SetData("+""""+"text"+""""+","+""""&str&""""+")(close)",0,true
Text = CreateObject("scripting.filesystemobject").opentextfile("c:\软件名1.txt").readall
txtArray = Split(Text,vbcrlf)
Text = Replace(Text, txtArray(0) & vbcrlf, "")
const forwriting=2
set writefile=fso.opentextfile("c:\软件名1.txt",forwriting)
writefile.writeline(Text)
writefile.close

上边这个是我从另外一个论坛得到的代码,不存在上面的问题,发上来,
学习下。
但读取下面的文本:
BMPArray = Plugin.BGCP2_02.LoadBMP("D:\pic\1.bmp|D:\pic\2.bmp|D:\pic\3.bmp")
For i = 0 To UBound(BMPArray)
TracePrint         BMPArray(i)
Next


就会报错。


希望大帅出手,让两个均一百分。

TOP

回复 9# apang

WScript.exe是的,就是它在内存中有好多个,希望运行完了,马上结束。

所以,我直接把最后 一句弹框的给去掉了。

TOP

回复 10# sz1121


    大哥啊,我的目的是为了在按键精灵中调用结果,你这个在软件中,我还得搞个wm_command事件,或再抓取。。。就太麻烦了。

TOP

返回列表