hype124
hype124

Reputation: 13

Batch file to copy list of files including subdirectories

I often have to track down files at work, pulling a hundred or so out of a list of a thousand, so I created a batch file that would copy the files in a location that are listed in a csv in the batch files directory and then paste them in a folder on my desktop.

This worked, but I often have to do this for hundreds of files across a dozen or so directories, so I tried to modify it to include subdirectories. I'm having an issue getting it to work and I was wondering if the excellent people at StackOverflow could help. Thanks!

@echo on
set theDest="%USERPROFILE%\Desktop\Batch Copies %date:/=%"
set /p MY_TEXT=<FileList.csv
echo.%MY_TEXT%
set MY_TEXT=%MY_TEXT:"",""=,%
echo.%MY_TEXT%
if not exist %theDest% md %theDest%
pause
for /R %MY_TEXT% %%G IN (.) do (
for /F  "skip=1 delims=" %%f in (FileList.csv) do (
    if exist  "%MY_TEXT%\%%f.*" (
        copy "%MY_TEXT%\%%f.*" %theDest%
         ) else (
    if exist  "%MY_TEXT%\%%f" (
         copy /R "%MY_TEXT%\%%f" %theDest%
         ) else echo "%MY_TEXT%\%%f" does not exist && echo         0 file^(s^) copied.  && echo      ERROR: %%f not found && echo.  && pause)



)   
)
echo. && echo. && echo Process Completed. &&echo.
pause

Part of the problem is I was just getting into batch when I wrote this and then left it and am trying to come back and figure out how everything works so I've probably messed it up more ways than one.

Upvotes: 0

Views: 150

Answers (1)

abelenky
abelenky

Reputation: 64672

So the FOR loop has a /R option which will run the same command across all subdirectories.

In your case, I think you want:

for /R %%a in (.) do call :MyCopyFunction %%a
exit /B

:MyCopyFunction [%1 is the current directory]
    echo My Current directory is %1
    [Do All your code here, using %1 as the current directory]
exit /B

I don't understand what your script is doing in detail, so you still have to fill in the details.

But this shows you how to traverse the entire directory structure.

Upvotes: 1

Related Questions