How to copy a directory structure without copying files?

I have a folder with a lot of subfolders and files in them. Is there a way to copy the folder and subfolders directory structure without copying the files they contain, using cmd or powershell?

9 Answers

If you want to copy empty folders as well.

xcopy C:\Folders D:\Folders /t /e

2

Yup. XCOPY

XCopy source {destination} /t

example

xcopy C:\Folders D:\Folders /t

more about xcopy can be found here

1

Although XCOPY still works, Windows Vista and later include ROBOCOPY which has more features. General syntax for copying a folder tree (including empty folders) without the files is:

robocopy "A:\Source folder" "B:\Destination folder" /e /xf *

PowerShell method that doesn't require copying each file and then deleting them:

Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}

Or more succinctly:

copy .\source C:\path\to\copy -r -fi PSIsContainer

The only interesting trick here is the filtering on the PSIsContainer property, which is true for directories but not files.

1

Look at 47folders app, free, handy Windows tool, does exactly what you need through nice GUI.enter image description here

WARNING: Former link () now (Nov 2017) leads to advertisement for clothing.  The last good Internet Archive copy is here.  Software may still be available from freeware download sites such as this one.

There's probably a better solution, but I'd see these:

  • Copy everything, then empty the folders with a script.

  • Make a script that will copy everything if it has no extension. Unless you have files without an extension in the folders, which you shouldn't, it should work, because, well. Folders don't have extensions. Something that would look like this in pseudocode:

open_directory($path);
while($file=get_directory_content) {
if(empty(get_file_extension($file))) {
copy_the_file($file,$destination);
}
}
close_directory;

2

I just used the freeware Miroirs, which very simply copied just folders, not the contents (though that is an option).

as far as I know there are third party software which may provide this functionality if you want to do with command prompt then copy command is out there. type help copy in cmd which provides details on how you copy files through cmd.
after copying go to the folder through cmd and run command

del*.*
which deletes files because folders not having . character 1

Use PowerShell to do that using. Make Copy of Folder and thenRemove-Item -Path "C:\test\*.*" -recurse

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like