'1.获得文件夹大弊中的所有.txt文件
'2.将所有文件移动到E:盘'函数MoveTxtFiles(folderspec)
'parameter1 folderspec类型字符串 文件夹名Function MoveTxtFiles(folderspec)
Dim fso,fl,fs
Set fso=CreateObject("Scripting.FileSystemObject")
Set fl = fso.GetFolder(folderspec)
Set fs=fl.Files
for each f in fs
If SearchTxtFile("\.txt$",f.Name) Then
f.Move("E:\")
End If
next
Set fso=Nothing
End Function '函数SearchTxtFile(pattern,Fn) 匹配 文答链件扩展名
'parameter1 pattern 匹配模式 字符串类型
'parameter2 Fn 文件名 字符串类型
Function SearchTxtFile(pattern,Fn)
Dim regEx,Matches
Set regEx=new RegExp
regEx.Pattern = pattern
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Fn)
for each Match in Matches
SearchTxtFile=True
Exit Function
Next
SearchTxtFile=False
Set regEx=Nothing
End Function
MoveTxtFiles("C:\")
理论与实际上都是可以的,但是实现以及 *** 作起来太麻烦,以至于远远超过手动ctl+c和ctl+v的 *** 作量。好吧,或许你不信,那我给你解释一下到底如何麻烦。首先,复制辩顷稿的话,vbs脚本不能访问剪切板,要通过生成其它组件的对象来调用访问剪切板。这意味着什么呢?意味着你必须先把东西复制一下携孝,然后再打开vbs脚本去读你复制在剪切板上的内容。可这时候如果手动 *** 作的话已经可以粘贴了。但用vbs则只是刚刚读取复制的内容。怎么样?开始麻烦了吧。其次,你要粘贴到哪呢?好吧,你说随便一个记事本,恩,没问题,如果是空的话,我以写模式打开写进去保存就ok了。可如果里面有内容呢?我是覆盖内容还是补充模式粘贴?如果你不往记事本而是word或者excel文件里面粘贴呢?又或者你复制的是图片或者其它影音文件呢?这都是vbs复杂 *** 作,还不如手动处理的。当然,我也不是说这样做不可以,而是如果单纯的一次两次的工作,你还不如手动乎则做。倒是工作量频繁而巨大并且重复性强了,可以写个vbs脚本来实现。说了这么多,我给你个简单的满足你功能的代码,你看看就明白了。Set objHTML=CreateObject("htmlfile") ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text") MsgBox ClipboardText '这里d出你复制的内容,别复制除文字外的东西啊set fso = createobject("scripting.filesystemobject")Set output = fso.OpenTextFile("c:\1.txt",2) '这里可以自定义你要粘贴的文件名output.Write ClipboardTextoutput.CloseSet fso = NothingSet objHTML = nothing其实这也不算粘贴了,只是从剪切板复制后把内容读出来写到一个记事本里。真正的粘贴其实也就是写 *** 作。怎么样,这只是一个记事本,如果是excel或者网页上的文本框呢?呵呵,希望对您有帮助。全手打,求采纳!回答补充:看你网站什么样了,其实或许可以换种方法,把数据保存到excel里面的,不过不知道你那边详细情况。 好吧,其实可以做一个循环,每5s把剪切板里的内容保存到excel里面去,前提就是你在5s内copy新的内容,不然等于又粘贴一遍旧的。@Echo Off&Setlocal Enabledelayedexpansion:loop
For /f "tokens=*" %%i in 举族亮('dir /b /o-d /s "穗绝D:\ALL\*.log"') do (
Set /a n+=1
Move /y "%%i" "E:\CACHE\"
If !n!==5 Goto delete
)
Rem 以上为移动最新的5个log文件到E:\CACHE\目录下.
:delete
For /d %%i in ("D:\ALL\*") do (Rd /q /s "%%i")
Rem 删除正宽D盘ALL文件夹下的全部文件夹(ALL保留)
Ping -n 31 127.1>nul
Rem 延时30秒
Goto loop
Rem 30秒循环
Pause
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)