У меня есть папка с кучей подпапок и файлов в них. Есть ли способ скопировать структуру папок и подпапок без копирование файлов, которые они содержат, с помощью cmd или powershell?
Как скопировать структуру каталогов без копирования файлов?
9 ответов
Если вы хотите скопировать пустые папки, а также.
команда xcopy C:\Folders D:\Folders /т /е
Юп. XCOPY
XCopy source {destination} /t
пример
xcopy C:\Folders D:\Folders /t
подробнее о команде xcopy можно найти здесь http://ss64.com/nt/xcopy.html
хотя XCOPY все еще работает, Windows Vista и более поздние версии включают ROBOCOPY, который имеет больше возможностей. Общий синтаксис копирования дерева папок (включая пустые папки) без файлов:
robocopy "A:\Source folder" "B:\Destination folder" /e /xf *
PowerShell метод, который не требует копирования каждого файла, а затем удалить их:
Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}
или более лаконично:
copy .\source C:\path\to\copy -r -fi PSIsContainer
единственный интересный трюк здесь фильтрация на PSIsContainer
свойство, которое верно для каталогов, но не для файлов.
посмотрите на 47folders приложение, бесплатный, удобный инструмент для Windows, делает именно то, что вам нужно через хороший графический интерфейс.
предупреждение: бывший ссылке (http://47foldersapp.com/) сейчас (ноябрь 2017) приводит к рекламу одежды. Последняя хорошая интернет-копия архива -здесь. Программное обеспечение все еще может быть доступно с бесплатных сайтов загрузки такие как этот.
там, вероятно, лучшее решение, но я хотел бы видеть эти:
копировать все, а затем очистить папки со сценарием.
сделать скрипт, который будет копировать все, если у него нет расширения. Если у вас нет файлов без расширения в папках, которые вы не должны, это должно работать, потому что, ну. Папки не имеют расширения. Что-то, что будет выглядеть так псевдокод:
open_directory ($path);
в то время как($файл=get_directory_content) {
если(пусто(get_file_extension (файл$))) {
copy_the_file ($file,$destination);
}
}
close_directory;
насколько я знаю, есть стороннее программное обеспечение, которое может обеспечить эту функциональность, Если вы хотите сделать с командной строкой, то команда копирования там. тип
помогите скопировать в cmd, который предоставляет подробную информацию о том, как вы копируете файлы через cmd.
после копирования зайти в папку через cmd и выполнить команду
del*.*который удаляет файлы, папки, потому что не имея . характер
используйте PowerShell для этого. Сделайте копию папки, а затем
Remove-Item -Path "C:\test\*.*" -recurse
Я просто использовал бесплатные Miroirs, которые очень просто скопировали только папки, а не содержимое (хотя это вариант).
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]