41

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?

40

If you want to copy empty folders as well.

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

  • 1
    correct, /e should be used, too. – user286640 Jan 9 '16 at 16:13
  • 1
    XCOPY Build in Powershell by default and works perfectly. – BenCes Jan 28 '16 at 14:51
28

Yup. XCOPY

XCopy source {destination}  /t

example

xcopy C:\Folders D:\Folders /t

more about xcopy can be found here http://ss64.com/nt/xcopy.html

  • 3
    You should add /e to copy also empty folders – user286640 Jan 9 '16 at 16:12
17

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 *

2

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 (http://47foldersapp.com/) 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.

0

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;

  • Unfortunatelly, we do have files without extensions. From .placeholders for code repos, to some specific data files. – Rook Jan 9 '13 at 7:00
  • Oh. Well. Maybe there's an if(it's a folder) thing, then. But uhm. The xcopy thing above seems like it's the right thing for you then. Unless it's not, in which case you can run a script to 1. copy all folders and 2. empty all folders. Or something. But this is... Long. xD – Ariane Jan 9 '13 at 7:19
0

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

0

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

http://www.scanialabs.com/Products/Miroirs/Miroirs.aspx

-1

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

  • 3
    Deletes files all right, but who says folder names cannot contain a dot/period as well? – Karan Jan 9 '13 at 18:11

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.