Vbscript 将文件夹的DateLastModified属性更改为与中的文件匹配

Vbscript 将文件夹的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

我有许多文件夹,每个文件夹中都有文件

结构看起来像这样:

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
如您所见,有些文件夹的名称中包含
,有些文件夹包含
\
,有些文件夹包含空格

一个一致的因素是,每个文件夹将始终包含一个.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