Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 



Sign in to follow this  
wjbeckett

Help with VBScript to move folders and files

Recommended Posts

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 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 = "D:\torrents\"
sTV = "D:\Downloads\TV Shows\"
sMovie = "D:\Downloads\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

As 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.

Share this post


Link to post
Share on other sites

Something like this should work:

' Scan each file in the folder
For Each sFolder In oFSO.GetFolder(sTorrents).SubFolders
' check if the folder name contains TV Show Parameters
If 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 Directory
Else objLog.WriteLine Now() & " - " & sFolder.Name & " Detected as Movie - Moving to " & sMovie
oFSO.MoveFolder sTorrents & sFolder.Name, sMovie & sFolder.Name
End If

Next

Share this post


Link to post
Share on other sites

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 by wjbeckett

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×