2013-01-08 21:32:20 +0000 2013-01-08 21:32:20 +0000
50
50

Jak skopiować strukturę katalogów bez kopiowania plików?

Mam folder z wieloma podfolderami i plikami w nich. Czy istnieje sposób na skopiowanie struktury katalogów folderów i podfolderów bez kopiowania plików, które zawierają, używając cmd lub powershell?

Odpowiedzi (9)

46
46
46
2013-01-17 08:58:16 +0000

Jeśli chcesz skopiować również puste foldery.

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

29
29
29
2013-01-08 21:43:43 +0000

Yup. XCOPY

XCopy source {destination} /t

przykład

xcopy C:\Folders D:\Folders /t

więcej o xcopy można znaleźć tutaj http://ss64.com/nt/xcopy.html

19
19
19
2015-02-04 14:41:42 +0000

Chociaż XCOPY nadal działa, Windows Vista i późniejsze zawierają ROBOCOPY, który ma więcej funkcji. Ogólna składnia do kopiowania drzewa folderów (w tym pustych folderów) bez plików to:

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

3
3
3
2017-01-27 20:03:55 +0000

Metoda PowerShell, która nie wymaga kopiowania każdego pliku, a następnie ich usuwania:

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

Lub bardziej zwięźle:

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

Jedyną ciekawą sztuczką jest tutaj filtrowanie na właściwości PSIsContainer, która jest prawdziwa dla katalogów, ale nie plików.

1
1
1
2013-06-19 16:15:02 +0000

Spójrz na aplikację 47folders, darmowe, poręczne narzędzie dla systemu Windows, robi dokładnie to, czego potrzebujesz dzięki ładnemu GUI.

UWAGA: Dawny link http://47foldersapp.com/ ) obecnie (listopad 2017) prowadzi do reklamy odzieży.  Ostatnia dobra kopia Internet Archive to tutaj .  Oprogramowanie może być nadal dostępne na stronach z freeware do pobrania, takich jak ta .

0
0
0
2016-11-03 09:37:02 +0000

Użyj PowerShell, aby to zrobić za pomocą. Wykonaj kopię folderu, a następnieRemove-Item -Path "C:\test\*.*" -recurse.

0
0
0
2017-01-27 19:45:20 +0000

Ja po prostu użyłem darmowego Miroirs, który bardzo prosto kopiuje tylko foldery, nie zawartość (choć jest taka opcja). http://www.scanialabs.com/Products/Miroirs/Miroirs.aspx

0
0
0
2013-01-08 21:46:04 +0000

Pewnie jest jakieś lepsze rozwiązanie, ale ja bym widział te:

  • Skopiuj wszystko, a następnie opróżnij foldery skryptem.

  • Zrób skrypt, który skopiuje wszystko, jeśli nie ma rozszerzenia. O ile w folderach nie masz plików bez rozszerzenia, a nie powinieneś, to powinno zadziałać, bo cóż. Foldery nie mają rozszerzeń. Coś, co wyglądałoby tak w pseudokodzie:

opendirectory($path); while($file=getdirectorycontent) { if(empty(getfileextension($file)))) { copythefile($file,$destination); }
}
close
directory;

-1
-1
-1
2013-01-09 05:35:44 +0000

z tego co wiem istnieją programy firm trzecich, które mogą zapewnić taką funkcjonalność, jeśli chcesz to zrobić za pomocą wiersza poleceń to polecenie kopiowania jest tam dostępne. wpisz help copy w cmd, który podaje szczegóły jak kopiować pliki przez cmd. po skopiowaniu przejdź do folderu przez cmd i uruchom polecenie

del\*.\*

, które usuwa pliki, ponieważ foldery nie mają znaku .