Как скопировать структуру каталогов без копирования файлов?

У меня есть папка с большим количеством подпапок и файлов в них. Есть ли способ скопировать структуру каталогов каталогов и подпапок без , копируя файлы, которые они содержат, используя cmd или powershell?

38 голосов | спросил Rook 9 Jam1000000amWed, 09 Jan 2013 01:32:20 +040013 2013, 01:32:20

9 ответов


36

Если вы хотите скопировать и пустые папки.

  

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

ответил Michael Mantion 17 Jpm1000000pmThu, 17 Jan 2013 12:58:16 +040013 2013, 12:58:16
28

Угу. XCOPY

XCopy source {destination}  /t

Пример

xcopy C:\Folders D:\Folders /t

подробнее о xcopy можно найти здесь http://ss64.com/nt/xcopy.html

ответил BroScience 9 Jam1000000amWed, 09 Jan 2013 01:43:43 +040013 2013, 01:43:43
15

Хотя XCOPY все еще работает, Windows Vista и более поздние версии включают ROBOCOPY, у которого есть больше возможностей. Общий синтаксис для копирования дерева папок (включая пустые папки) без файлов:

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

ответил Theodore 4 FebruaryEurope/MoscowbWed, 04 Feb 2015 17:41:42 +0300000000pmWed, 04 Feb 2015 17:41:42 +030015 2015, 17:41:42
2

Метод 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, что верно для каталогов, но не файлов.

ответил Ben N 27 Jpm1000000pmFri, 27 Jan 2017 23:03:55 +030017 2017, 23:03:55
1

Посмотрите на приложение 47folders, бесплатный, удобный инструмент Windows, делает именно то, что вам нужно, с помощью приятного графического интерфейса. введите описание изображения здесь

ПРЕДУПРЕЖДЕНИЕ. Бывшая ссылка ( http://47foldersapp.com/) теперь (ноябрь 2017) приводит к рекламе для одежды. Последняя хорошая копия интернет-архива здесь . Программное обеспечение по-прежнему может быть доступно на бесплатных сайтах загрузки например этот .

ответил teMkaa 19 J0000006Europe/Moscow 2013, 20:15:02
0

Вероятно, есть лучшее решение, но я бы увидел следующее:

  • Скопировать все, а затем удалить папки со сценарием.

  • Создайте скрипт, который будет копировать все, если у него нет расширения. Если у вас нет файлов без расширения в папках, чего вам не следует, он должен работать, потому что, хорошо. Папки не имеют расширений. Что-то, что будет выглядеть в псевдокоде:

open_directory ($ путь);
while ($ file = get_directory_content) {
if (empty (get_file_extension ($ file))) {
copy_the_file ($ файла, $ назначения);
}
}
close_directory;

ответил Ariane 9 Jam1000000amWed, 09 Jan 2013 01:46:04 +040013 2013, 01:46:04
-1

Насколько я знаю, есть стороннее программное обеспечение, которое может предоставить эту функцию, если вы хотите сделать это с помощью командной строки, а затем выполнить команду копирования. тип      help copy в cmd, который содержит сведения о том, как вы копируете файлы через cmd.
после копирования перейдите в папку через cmd и запустите команду

del *. *
, который удаляет файлы, поскольку папки не имеют. персонаж
ответил vishal 9 Jam1000000amWed, 09 Jan 2013 09:35:44 +040013 2013, 09:35:44
-1

Используйте PowerShell для этого. Сделайте копию папки, а затем Remove-Item -Path "C:\test\*.*" -recurse

ответил user1586957 3 42016vEurope/Moscow11bEurope/MoscowThu, 03 Nov 2016 12:37:02 +0300 2016, 12:37:02
-1

Я просто использовал бесплатную версию Miroirs, которая просто копировала только папки, а не содержимое (хотя это опция).

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

ответил user263693 27 Jpm1000000pmFri, 27 Jan 2017 22:45:20 +030017 2017, 22:45:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132