Vbscript 将文件夹的DateLastModified属性更改为与中的文件匹配
我有许多文件夹,每个文件夹中都有文件 结构看起来像这样: Folder.No.1 Folder_No_2 Folder No 3Vbscript 将文件夹的DateLastModified属性更改为与中的文件匹配,vbscript,Vbscript,我有许多文件夹,每个文件夹中都有文件 结构看起来像这样: Folder.No.1 Folder_No_2 Folder No 3 Dim objShell, objFolder, objFile Set objFile = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpac
Dim objShell, objFolder, objFile
Set objFile = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(strDir)
Set strDir = objFile.GetFolder("C:\Temp")
For Each objFile In objFolder
If UCase(objFolder.GetExtensionName(objFile.Name)) = "MP4" Then
objFolder.Items.Item(strDir).ModifyDate = DateLastModified
WScript.Echo objFolder.Name
End If
Next
如您所见,有些文件夹的名称中包含
,有些文件夹包含\
,有些文件夹包含空格
一个一致的因素是,每个文件夹将始终包含一个.mp4文件,而不考虑其他任何内容
因此,如何更改文件夹的修改日期
日期/时间以匹配文件夹中包含的.avi文件的日期/时间?是否可以使用VBScript将datelastmedited
从内部文件(子文件夹)复制到父文件夹
到目前为止,我正在做这样的工作:
Folder.No.1
Folder_No_2
Folder No 3
Dim objShell, objFolder, objFile
Set objFile = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(strDir)
Set strDir = objFile.GetFolder("C:\Temp")
For Each objFile In objFolder
If UCase(objFolder.GetExtensionName(objFile.Name)) = "MP4" Then
objFolder.Items.Item(strDir).ModifyDate = DateLastModified
WScript.Echo objFolder.Name
End If
Next
但当使用以下命令行调用时失败:cscript CopyDateToParent.vbs
有人能帮我纠正一下吗?试试我的代码:
StrFolder="C:\Users\admin\Desktop\" 'Your folder
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objFSO.GetFolder(StrFolder)
Set Folder = objShell.NameSpace(StrFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Name=objFile.Name
strExtension = LCase(objFSO.GetExtensionName(Name))
If strExtension = "mp4" Then
Set objFolderItem = Folder.ParseName(Name)
objFolderItem.ModifyDate = DateLastModified 'Example : "01/01/2008 8:00:00 AM"
End If
Next
试试我的代码:
StrFolder="C:\Users\admin\Desktop\" 'Your folder
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objFSO.GetFolder(StrFolder)
Set Folder = objShell.NameSpace(StrFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Name=objFile.Name
strExtension = LCase(objFSO.GetExtensionName(Name))
If strExtension = "mp4" Then
Set objFolderItem = Folder.ParseName(Name)
objFolderItem.ModifyDate = DateLastModified 'Example : "01/01/2008 8:00:00 AM"
End If
Next