Измените свойство DateLastModified папки, чтобы оно соответствовало файлу в - PullRequest
1 голос
/ 29 июня 2019

У меня есть несколько папок, каждая с файлами внутри папки.

Структура выглядит примерно так:

Folder.No.1
Folder_No_2
Folder No 3

, а файлы внутри выглядят примерно так:

Folder.No.1\My.Movie.1.mp4
Folder.No.1\My.Movie.1.txt

Folder_No_2\My_Movie_2.mp4
Folder_No_2\My_Movie_2.jpg
Folder_No_2\My_Movie_2.txt

Folder No 3\My Movie 3.mp4

Как видите, некоторые папки содержат . в имени, некоторые содержат _, а некоторые содержат пробелы.

Единственным постоянным фактором является то, что каждая папка будет всегда содержит файл .mp4, независимо от чего-либо еще.

Следовательно, как я могу изменить Date Modified дату / время папки, чтобы они соответствовали файлу .avi, содержащемуся в папке?Могу ли я сделать это, скопировав DateLastModified из файла (дочернего) в родительскую папку, используя VBScript?

Пока я работаю над чем-то вроде этого:

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

Может кто-нибудь, пожалуйста, помогите исправить это, чтобы заставить его работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...