Welcome to MSFN

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


Sign in to follow this  
Followers 0
wjbeckett

Help with VBScript to move folders and files

3 posts in this topic

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.

0

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

0

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
0

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  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.