How to copy all files in the subfolder
I am using Windows 7 and I want to copy all PDF files inside a folder and inside all its subfolders in a new location. What is the command to do that?
Solution 1:
Use the xcopy
command. You can go to a command prompt and type xcopy /?
to get help using it.
For your particular question, the full command would be:
xcopy c:\sourcefolder\*.pdf c:\destinationfolder\ /e
Solution 2:
If you want all the PDFs to go into one folder:
copy <source path>\*.pdf <destination path> /s
If you want to keep the original folder structure:
xcopy <source path>\*.pdf <destination path> /s
Solution 3:
I strongly suggest you use RoboCopy as this has a wealth of options (far beyond the list I've provided). However, as you only want to copy PDF files, use this syntax
Robocopy C:\Users C:\UserBackup *.pdf
Robocopy Syntax
ROBOCOPY source destination [file [file]…] [options]
where source is Source Directory (drive:\path or \\server\share\path), destination is Destination Directory (drive:\path or \\server\share\path) and file is File(s) to copy where names or wildcards can be specified and default is “*.*” (all files).
Robocopy Options and Switches
Copy options :
/S :: copy Subdirectories, but not empty ones.
/E :: copy subdirectories, including Empty ones.
/LEV:n :: only copy the top n LEVels of the source directory tree.
/Z :: copy files in restartable mode.
/B :: copy files in Backup mode.
/ZB :: use restartable mode; if access denied use Backup mode.
/EFSRAW :: copy all encrypted files in EFS RAW mode.
/COPY:copyflag[s] :: what to COPY for files (default is /COPY:DAT).
(copyflags : D=Data, A=Attributes, T=Timestamps).
(S=Security=NTFS ACLs, O=Owner info, U=aUditing info).
/DCOPY:T :: COPY Directory Timestamps.
/SEC :: copy files with SECurity (equivalent to /COPY:DATS).
/COPYALL :: COPY ALL file info (equivalent to /COPY:DATSOU).
/NOCOPY :: COPY NO file info (useful with /PURGE).
/SECFIX :: FIX file SECurity on all files, even skipped files.
/TIMFIX :: FIX file TIMes on all files, even skipped files.
/PURGE :: delete dest files/dirs that no longer exist in source.
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after copying).
Examples:
To use Robocopy is simple, just like how you would use Copy and Xcopy commands. For example, to copy entire folder of C:\Users to C:\UserBackup, simply type:
Robocopy C:\Users C:\UserBackup
Source
More details
Solution 4:
Try this (on the command line):
for /r "c:\my\source folder" %i in (*.pdf) do copy "%~fi" "c:\my\destination folder\%~nxi"
On the explorer:
..with copy-past you can drag the source folder to the new destination while pressing the ctrl key.