| Author |
Message |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Rename file based on folder name and copy to:
Hey guys, ive been spending hours trying to write a script:
This script will sit in my hard drive, next to my movies folder(which has hundreds of movie folders inside of it), each movie folder is named with YAMMM, my multimedia software and provided with a .xml file with the movies information.
I want this script to list all movie folders, then copy the .xml files out of each movie folder and rename all the .xml files based on the folder name and place it in a different folder on my C: drive.
any way this is possible?
|
| 18 Apr 2012 03:09 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
Create "c:\folder\" first. Run this in the movie folder - it will echo the copy commands to the screen. If that's what you want then remove the 'echo' statement. Code: @echo off for /f "delims=" %%a in ('dir *.xml /b /s') do ( for /f "delims=" %%b in ("%%~dpa\.") do ( echo copy /b "%%a" "c:\folder\%%~nxb.xml" ) ) pause
|
| 18 Apr 2012 04:04 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
from the echo statement, it appears to do what I want, but it is not creating the copies in C:\folder\
any ideas?
thanks alot too man, its awesome how fast and accurate you were in responding.
|
| 18 Apr 2012 04:15 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
Is the echo statement still there?
|
| 18 Apr 2012 04:22 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
yeah, i left it in to see what it displays and it shows. copy "J:\Movies\Venom (2005)\mymovies.xml" "C:\folder\Venom (2005).xml" copy "J:\Movies\Warrior's Way, The (2010)\mymovies.xml" "C:\folder\Warrior's Way, The (2010).xml" copy "J:\Movies\Weekend at Bernie's (1989)\mymovies.xml" "C:\folder\Weekend at Bernie's (1989).xml" copy "J:\Movies\Zombie Apocalypse (2011)\mymovies.xml" "C:\folder\Zombie Apocalypse (2011).xml"
which is absolutely perfect, except it wont copy the file to C:\folder\
|
| 18 Apr 2012 04:24 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
Read the instructions in the first post with the code 
|
| 18 Apr 2012 04:27 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
yup, i realized that just then before you replied. me slaps forehead. 
|
| 18 Apr 2012 04:29 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
Thank you so much foxidrive, life saver.
|
| 18 Apr 2012 04:33 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
So I tried adopting this script to work on the .jpg files that are in each folder and yet it doesnt pick them all up. Code: @echo off for /f "delims=" %%a in ('dir folder.JPG /b /s') do ( for /f "delims=" %%b in ("%%~dpa\.") do ( echo copy "%%a" "C:\xampp\htdocs\project-T\lists\movies\%%~nxb.JPG" ) ) pause as you can see i remove the *.jpg and used folder.jpg as there is a folder.jpg and a folder.original.jpg in every folder. any idea why it isnt working?
|
| 18 Apr 2012 05:21 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
LordNecro wrote: So I tried adopting this script to work on the .jpg files that are in each folder and yet it doesnt pick them all up. Code: @echo off for /f "delims=" %%a in ('dir folder.JPG /b /s') do ( for /f "delims=" %%b in ("%%~dpa\.") do ( echo copy "%%a" "C:\xampp\htdocs\project-T\lists\movies\%%~nxb.JPG" ) ) pause as you can see i remove the *.jpg and used folder.jpg as there is a folder.jpg and a folder.original.jpg in every folder. any idea why it isnt working? Give me an example of a path where it doesn't work, please. It should work fine for every file named "folder.jpg" The copy command should have a /b switch in it too.
|
| 18 Apr 2012 05:24 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
I've discovered it, all of the folder.jpg's are marked as hidden files, how would I go about ignoring such a property?
|
| 18 Apr 2012 05:38 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
I've discovered it, all of the folder.jpg's are marked as hidden files, how would I go about ignoring such a property?
or possibly a script to make all movie folders un/hidden recurring to all files
|
| 18 Apr 2012 05:39 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
If it's just a hidden attribute then this should handle that: (untested) Code: @echo off for /f "delims=" %%a in ('dir folder.JPG /b /s') do ( for /f "delims=" %%b in ("%%~dpa\.") do ( attrib -h "%%a" copy /b "%%a" "C:\xampp\htdocs\project-T\lists\movies\%%~nxb.JPG" attrib +h "%%a" ) ) pause
|
| 18 Apr 2012 05:45 |
|
 |
|
LordNecro
Joined: 18 Apr 2012 03:03 Posts: 14
|
 Re: Rename file based on folder name and copy to:
i'm getting a file not found, as it cannot find the folder.jpg
|
| 18 Apr 2012 05:56 |
|
 |
|
foxidrive
Joined: 10 Feb 2012 02:20 Posts: 2547
|
 Re: Rename file based on folder name and copy to:
Maybe the folder.jpg files also have a system attribute set. open a folder with one of the JPG files and type It will show something like the bottom and may have SH in it. Quote: c:\>attrib cmldr A SHR C:\cmldr
If it does then try using this: Code: @echo off for /f "delims=" %%a in ('dir folder.JPG /b /s') do ( for /f "delims=" %%b in ("%%~dpa\.") do ( attrib -h -s "%%a" copy /b "%%a" "C:\xampp\htdocs\project-T\lists\movies\%%~nxb.JPG" attrib +h +s "%%a" ) ) pause
|
| 18 Apr 2012 06:46 |
|
|