'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:\")
@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
用fso的movefile会出现权限不足的衡悉颤情况 那样代码不能执行 所以 用copyfile 再deletefile 避免了不必要的麻烦即
Set fso=CreateObject("scripting.filesystemobject")
fso.MoveFile "文件路径","目标"
这个并不好用
用
Set fso=CreateObject("scripting.filesystemobject")
fso.CopyFile "文件路径","目标"
fso.DeleteFile "文件路径"
不要陆核太执着了不是没有而咐败是movefile十分不好用 当初我也不想这样用。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)