У меня есть папка с множеством подпапок и файлов в них. Есть ли способ скопировать структуру каталогов папок и подпапок без копирования содержащихся в них файлов, используя cmd или powershell?
windows-7
command-line
ладья
источник
источник
/e
, тоже надо использовать.Ага. XCOPY
пример
больше о xcopy можно найти здесь http://ss64.com/nt/xcopy.html
источник
/e
для копирования также пустые папкиХотя XCOPY все еще работает, Windows Vista и более поздние версии включают ROBOCOPY, которая имеет больше функций. Общий синтаксис для копирования дерева папок (включая пустые папки) без файлов:
robocopy "A:\Source folder" "B:\Destination folder" /e /xf *
источник
Метод PowerShell, который не требует копирования каждого файла и последующего удаления:
Или более кратко:
Единственный интересный трюк здесь - это фильтрация
PSIsContainer
свойства, что справедливо для каталогов, но не для файлов.источник
Посмотрите на приложение 47folders, бесплатный удобный инструмент для Windows, который делает именно то, что вам нужно, с помощью приятного графического интерфейса.
ВНИМАНИЕ: Бывшая ссылка ( http://47foldersapp.com/ ) сейчас (ноябрь 2017) ведет к рекламе одежды. Последняя хорошая копия интернет-архива здесь . Программное обеспечение все еще может быть доступно на бесплатных сайтах загрузки, таких как этот .
источник
Возможно, есть лучшее решение, но я бы увидел это:
Скопируйте все, затем очистите папки скриптом.
Сделайте скрипт, который будет копировать все, если у него нет расширения. Если у вас нет файлов без расширения в папках, чего не должно быть, это должно работать, потому что, ну, хорошо. Папки не имеют расширений. Что-то, что будет выглядеть так в псевдокоде:
open_directory ($ путь);
while ($ file = get_directory_content) {
if (empty (get_file_extension ($ file)))) {
copy_the_file ($ file, $ destination);
}
}
close_directory;
источник
Используйте PowerShell, чтобы сделать это с помощью. Сделайте копию папки, а затем
Remove-Item -Path "C:\test\*.*" -recurse
источник
Я просто использовал бесплатный Miroirs, который очень просто копировал только папки, а не содержимое (хотя это вариант).
http://www.scanialabs.com/Products/Miroirs/Miroirs.aspx
источник
Насколько я знаю, есть стороннее программное обеспечение, которое может предоставить эту функцию, если вы хотите сделать с командной строкой, то команда копирования есть. введите команду help copy в cmd, которая содержит подробные сведения о том, как копировать файлы через cmd.
который удаляет файлы, потому что папки не имеют. персонажпосле копирования зайдите в папку через cmd и выполните команду
источник