Odpowiedzi:
Jeśli chcesz również skopiować puste foldery.
xcopy C: \ Folders D: \ Folders / t / e
Tak. XCOPY
XCopy source {destination} /t
przykład
xcopy C:\Folders D:\Folders /t
Więcej informacji na temat xcopy można znaleźć tutaj http://ss64.com/nt/xcopy.html
Metoda PowerShell, która nie wymaga kopiowania każdego pliku, a następnie usuwania go:
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ą interesującą sztuczką jest tutaj filtrowanie PSIsContainer
właściwości, co dotyczy katalogów, ale nie plików.
Spójrz na aplikację 47folders, bezpłatne, poręczne narzędzie Windows, robi dokładnie to, czego potrzebujesz dzięki ładnemu GUI.
OSTRZEŻENIE: dawny link ( http://47foldersapp.com/ ) teraz (listopad 2017 r.) Prowadzi do reklamy odzieży. Ostatnia dobra kopia archiwum internetowego jest tutaj . Oprogramowanie może być nadal dostępny z darmowych witryn pobierania, takie jak ten .
Prawdopodobnie istnieje lepsze rozwiązanie, ale widziałbym te:
Skopiuj wszystko, a następnie opróżnij foldery za pomocą skryptu.
Stwórz skrypt, który skopiuje wszystko, jeśli nie ma rozszerzenia. O ile nie masz plików bez rozszerzenia w folderach, których nie powinieneś, to powinno działać, ponieważ, no cóż. Foldery nie mają rozszerzeń. Coś, co wyglądałoby tak w pseudokodzie:
open_directory ($ path);
while ($ file = get_directory_content) {
if (pusty (get_file_extension ($ file))) {
copy_the_file ($ file, $ destination);
}
}
close_directory;
Aby to zrobić, użyj programu PowerShell. Wykonaj kopię folderu, a następnie
Remove-Item -Path "C:\test\*.*" -recurse
Właśnie użyłem darmowego oprogramowania Miroirs, które po prostu skopiowało tylko foldery, a nie zawartość (choć jest to opcja).
o ile wiem, istnieje oprogramowanie innych firm, które może zapewnić tę funkcjonalność, jeśli chcesz zrobić z wierszem polecenia, a następnie polecenie kopiowania jest dostępne. wpisz
help copy w cmd, który zawiera szczegółowe informacje na temat kopiowania plików za pomocą cmd.
po skopiowaniu przejdź do folderu przez cmd i uruchom polecenie
del *. *który usuwa pliki, ponieważ folderów nie ma. postać
/e
należy również użyć.