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.