wjbeckett Posted October 2, 2012 Share Posted October 2, 2012 I currently have a VBscript that scans a folder for files and moves the files to particular folders depending on key words in the file name.Currently the script only moves loose files and not folders. I need it to move (or copy then delete) both folders and files based on keywords in the file/folder name.Can someone give me a hand with this?Below is my script so far.'========================================================' Script to Move Downloaded TV Shows and Movies to' correct folders based on wildcards in File Name'========================================================On Error Resume NextDim sTorrents, sTV, sMovie, sFile, oFSO' create the filesystem objectSet oFSO = WScript.CreateObject("Scripting.FileSystemObject")' Create Log FileSet objLog = oFSO.OpenTextFile("c:\temp\log.txt", 8, True)' Set VariablessTorrents = "D:\torrents\"sTV = "D:\Downloads\TV Shows\"sMovie = "D:\Downloads\Movies\"' Scan each file in the folderFor Each sFile In oFSO.GetFolder(sTorrents).Files' check if the file name contains TV Show ParametersIf 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 DirectoryElse objLog.WriteLine Now() & " - " & sFile.Name & " Detected as Movie - Moving to " & sMovie oFSO.MoveFile sTorrents & sFile.Name, sMovie & sFile.NameEnd IfNextIf sTorrents.File.Count = 0 And sTorrents.SubFolders.Count = 0 Then objLog.WriteLine Now() & " - There is nothing left to Process..." objLog.CloseEnd IfAs I mentioned it only picks up files only and not folders. I need it to do both if that's possible.So for example. I have a folder where utorrent dumps all the completed downloads (D:\torrents). I also have two directories that need to be used “D:\Downloads\TV Shows\” and “D:\Downloads\Movies\".Lets see if we can make the script search the torrents folder - if it finds any folders move them to the correct directory (by using the keywords “hdtv” or “s0”). If it finds any files do the same.Example:D:\Torrents has the following files - How.I.Met.Your.Mother.S08E01.x264.hdtv - This is a folder (Move to TV Shows) New.Girl.S02E01.x264.hdtv.mp4 - This is a TV Show (Move to TV Shows) Rock.of.Ages.720p.x264.RELEASE - This is a Folder (Move to Movies) Arbitrage.DVD-R.RELEASE.avi - This is a Movie (Move to Movies) I want the script to pick up files and entire folders (including and sub folders) and move the files and folders to the correct locations. Link to comment Share on other sites More sharing options...
allen2 Posted October 3, 2012 Share Posted October 3, 2012 Something like this should work:' Scan each file in the folderFor Each sFolder In oFSO.GetFolder(sTorrents).SubFolders' check if the folder name contains TV Show ParametersIf InStr(1, sFolder.Name, "hdtv", 1) OR InStr(1, sFolder.Name, "s0", 1) <> 0 Then ' TV Show Detected - Move File objLog.WriteLine Now() & " - " & sFolder.Name & " Detected as TV Show - Moving to " & sTV oFSO.MoveFile sTorrents & sFolder.Name, sTV & sFile.Name' Move all other Files to Movies DirectoryElse objLog.WriteLine Now() & " - " & sFolder.Name & " Detected as Movie - Moving to " & sMovie oFSO.MoveFolder sTorrents & sFolder.Name, sMovie & sFolder.NameEnd IfNext Link to comment Share on other sites More sharing options...
wjbeckett Posted October 3, 2012 Author Share Posted October 3, 2012 (edited) Thanks for the reply.You're script worked! I just added it on to the end of the current script and worked perfectly! Thanks so much! Edited October 4, 2012 by wjbeckett Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now