Search code examples
batch-filefile-copying

Exclude folders in batch-copy-script


I am using a batch file on a USB stick to backup my pictures. I use the following command:

for /r C:\ %%x in (*.jpg *.png *.gif) do @copy /y %%x .

I want to exclude files in the mailfolder WINDOWS and PROGRAM FILES.

Does anyone have an idea how I can do this with a batch file?


Solution

  • Drop COPY and use ROBOCOPY which exists in Windows Vista+ & is downloadable for prior versions.

    It supports /XD to exclude specific directories & /XF to exclude file masks at the command line.

    E.g.

    robocopy.exe c:\ c:\destination\ *.jpg *.png *.gif /xd "Program files" "windows" /S
    

    (Note this will recreate the directory structure in c:\destination\, which thinking about it may not be what you want)