現在、ファイルのフォルダーをスキャンし、ファイル名のキーワードに応じてファイルを特定のフォルダーに移動する VBscript があります。
現在、スクリプトは1つのレベルのみをスキャンする必要があり(つまり、再帰的にスキャンしません)、すべてのサブフォルダーも検索する必要があります。
誰か私に手を貸してくれませんか?
編集:このスクリプトを書いて以来、ファイル名に基づいて、特定のフォルダーとサブフォルダーから特定の拡張子を持つファイルのみを他のディレクトリに移動する必要があることに気付きました。たとえば、.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