VBScript для перемещения файлов с определенным расширением

В настоящее время у меня есть VBscript, который сканирует папку на наличие файлов и перемещает файлы в определенные папки в зависимости от ключевых слов в имени файла.

В настоящее время мне нужно, чтобы скрипт сканировал только один уровень (т.е. не сканировал рекурсивно), и мне также нужно выполнить поиск по всем подпапкам.

Может кто-нибудь помочь мне с этим?

РЕДАКТИРОВАТЬ: С момента написания этого сценария я понял, что мне нужно, чтобы он перемещал файлы только с определенными расширениями из определенной папки и подпапок в другие каталоги на основе имени файла. Например, мне нужны только файлы .mp4 и .avi для перемещения.

Может ли кто-нибудь помочь мне с этим, пожалуйста? Я пробовал несколько вещей, но все еще не могу заставить работать рекурсивное сканирование и перемещение или перемещение, специфичное для расширения.

Ниже мой текущий сценарий.

'========================================================
' Script to Move Downloaded TV Shows and Movies to
' correct folders based on wildcards in File Name
'========================================================

On Error Resume Next

Dim sTorrents, sTV, sMovie, sFile, oFSO

' create the filesystem object
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

' Create Log File
Set objLog = oFSO.OpenTextFile("c:\temp\log.txt", 8, True)

' Set Variables
sTorrents = "C:\Temp\torrents\"
sTV = "C:\Temp\TV Shows\"
sMovie = "C:\Temp\Movies\"

' Scan each file in the folder
For Each sFile In oFSO.GetFolder(sTorrents).Files
' check if the file name contains TV Show Parameters
If InStr(1, sFile.Name, "hdtv", 1) OR InStr(1, sFile.Name, "s0", 1) <> 0 Then
    ' TV Show Detected - Move File
    objLog.WriteLine Now() & " - " & sFile.Name & " Detected as TV Show - Moving to " & sTV
    oFSO.MoveFile sTorrents & sFile.Name, sTV & sFile.Name
' Move all other Files to Movies Directory
Else objLog.WriteLine Now() & " - " & sFile.Name & " Detected as Movie - Moving to " & sMovie
    oFSO.MoveFile sTorrents & sFile.Name, sMovie & sFile.Name
End If

Next

If sTorrents.File.Count = 0 And sTorrents.SubFolders.Count = 0 Then
    objLog.WriteLine Now() & " - There is nothing left to Process..."
    objLog.Close
End If

Ответы на вопрос(3)

Ваш ответ на вопрос