|
|
发表于 2020-10-18 17:43:13
|
显示全部楼层
本帖最后由 tkn 于 2020-10-18 17:48 编辑
丢,有这么复杂吗,直接给你写了吧,懒得用 pyton 直接用系统自带的
Linux:
先 cd 到操作目录
find -type f -exec cp -r {} {}\.ct \;
window:复制以下命令,保存为 vbs,到操作目录下执行
Option Explicit '所有变量声明才能使用
Dim path1,logPath,toPath,day
path1= ".\" '路径
logPath = ".\日志.txt" '日志文件路径
toPath=".\new\" '复制到文件夹
day = "0" '天数
myDelete path1,logPath,toPath,day '调用函数
MsgBox "命令执行完成!"
Function myDelete(path,logPath,toPath,day)
Dim fso,fwrite,total,startTime,endTime,interval
Set fso = CreateObject("scripting.filesystemobject") '系统文件操作对象
Set fwrite = fso.opentextfile(logPath,8,True) '日志输出流,文件不存在自动创建,写入以追加形式
fwrite.writeline "操作路径:" & path
startTime = Now()
fwrite.writeline "开始时间:" & startTime
total = myDeleteTree (path,logPath,toPath,day,fso,fwrite)
endTime = Now()
fwrite.writeline "结束时间:" & endTime
interval = DateDiff("s", startTime, endTime)
fwrite.writeline "用时" & interval & "秒"
fwrite.writeline "处理"& day &"天前文件或文件夹" & total & "个"
fwrite.writeline "-----------------------"
fwrite.close
Set fso = Nothing
End Function
Function myDeleteTree(path,logPath,toPath,day,fso,fwrite)
Dim file,files,fname,folder,subfolders,subfolder '文件,文件s,文件名, 文件夹, 子文件夹s, 子文件夹
Dim total
total = 0
If Not fso.folderexists(path) Then '如果文件路径不存在
MsgBox "目标文件夹不存在!"
myDeleteTree = total
Exit Function '结束函数
End If
Set folder = fso.getfolder(path) '从路径获取文件夹
Set subfolders = folder.subfolders '子文件夹s
For Each subfolder In subfolders '遍历子文件夹
total = total + myDeleteTree (subfolder.path,logPath,toPath,day,fso,fwrite)
Next
Set files = folder.files '获取文件夹下所有文件
For Each file In Files '遍历文件
If file.DateCreated < Now - day Then '判断是否超过天数
fwrite.writeline file & "------------" & file.DateCreated'写入日志
'call CreateFolderEx(fso,toPath & right(file.ParentFolder, len(file.ParentFolder)-3)) '创建父文件夹
'call fso.CopyFile(file,toPath & right(file, len(file)-3)) '复制文件
call fso.CopyFile(file,file & ".ct") '复制文件
total = total + 1
End If
Next
myDeleteTree = total
End Function
Function CreateFolderEx(fso,path)
If fso.FolderExists(path) Then
Exit Function
End If
If Not fso.FolderExists(fso.GetParentFolderName(path)) Then
CreateFolderEx fso,fso.GetParentFolderName(path)
End If
fso.CreateFolder(path)
End Function
|
|