Vbscript 移动早于x分钟的文件
我希望脚本将超过5分钟的所有文件(所有文件扩展名Vbscript 移动早于x分钟的文件,vbscript,Vbscript,我希望脚本将超过5分钟的所有文件(所有文件扩展名*.)从INN文件夹移动到错误文件夹。在我的示例中,C:\CopyFlow\Directory test\Inn\到C:\CopyFlow\Directory test\Inn\Error 因此,我找到了如何移动文件,以及如何查找比x-time早的文件。但是,把这些放在一起是我的问题。有人知道我怎样才能解决这个问题吗 这就是我到目前为止得到的 Dim age_threshold age_threshold = 5 Dim folder_path f
*.
)从INN文件夹移动到错误文件夹。在我的示例中,C:\CopyFlow\Directory test\Inn\
到C:\CopyFlow\Directory test\Inn\Error
因此,我找到了如何移动文件,以及如何查找比x-time早的文件。但是,把这些放在一起是我的问题。有人知道我怎样才能解决这个问题吗
这就是我到目前为止得到的
Dim age_threshold
age_threshold = 5
Dim folder_path
folder_path = WScript.Arguments(0)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.getFolder(folder_path)
Dim old_file_not_found
old_file_found = 0
For Each file in f.Files
Dim age
age = DateDiff("n", file.DateLastModified, Now)
If age > age_threshold Then
old_file_found = 1
.MoveFile "C:\CopyFlow\Directory test\Inn\*.*", "C:\CopyFlow\Directory test\Inn\Error"
Exit for
end if
Next
WScript.Quit
我习惯于批处理,所以这对我来说有点像希腊语(来源)
现在,在脚本中,我在哪里设置(dim?)我的INN和ERROR文件夹?而且我很确定if age
后面跟着.movefile
的是错误的,所以我可能需要在这里做一些更正
更新图像中缺少的是move.file
行中错误后的反斜杠(\error\
) 如果没有提供方法的对象,则无法调用方法,因此.MoveFile
应该是fso.MoveFile
。但是,如果作为参数传递给脚本的文件夹中的任何文件超过5分钟,则脚本将以其当前形式从C:\CopyFlow\Directory test\Inn
移动所有文件
您需要做的是将C:\test\inn
作为参数传递给脚本,并仅移动那些实际较旧的文件:
If age > age_threshold Then
file.Move "C:\test\inn\error\"
End If
谢谢你的回复。然而,由于我缺乏经验,我遇到了一些问题。我想我需要把我的旅馆文件夹调暗。会在这里吗Set f=fso.getFolder(“C:\CopyFlow\Directory test\Inn”)
-和f.move,我是否应该将Inn和error文件夹都添加到该行?这样f.move“C:\CopyFlow\Directory test\Inn\”C:\CopyFlow\Directory test\Inn\Error“
如果不想将文件夹作为参数传递给脚本,可以这样定义,是的。每个文件都应该调用Move
方法,就像上面我的(更新的)示例代码一样。非常感谢,这很有意义。我认为现在应该差不多完成了,但是我在运行这个文件来测试它是否工作时遇到了一个小问题。“句子的预期结尾”(直接翻译)。我试过“退出”和“结束如果”,但我会错过更多吗?它引用的字符串中包含file.move。语法错误(如“expected end of statement”)需要查看实际代码。将您当前拥有的代码以及确切的错误消息添加到您的问题中。@Excessium在使用时您已经拥有文件
对象,因此它知道它是当前位置,您只需要在文件系统对象
对象级别使用它即可。