Копировать папки без содержимого windows

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

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

9 ответов

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

команда xcopy C:\Folders D:\Folders /т /е

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

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

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

PowerShell метод, который не требует копирования каждого файла, а затем удалить их:

или более лаконично:

единственный интересный трюк здесь фильтрация на 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 и выполнить команду

который удаляет файлы, папки, потому что не имея . характер

Как скопировать структуру папок в Windows 10

Как скопировать структуру папок в Windows 10

Когда вы копируете и вставляете папки, все файлы и подпапки копируются вместе. Все файлы остаются в своих соответствующих подпапках, как они должны. Если вам не нужно копировать файлы, а нужно просто реплицировать структуру папок без создания папок вручную, вам следует использовать Xcopy.

Xcopy — это утилита, которая по умолчанию доступна в Windows 10 так что вы можете использовать этот метод из коробки, чтобы скопировать и вставить структуру папок. Вы можете реплицировать структуру в любом месте, например, если папка находится на рабочем столе, вы можете скопировать ее и весь ее подкаталог на внешний диск или в другую папку на другом внутреннем диске.

Копировать структуру папок

Сначала переместите папку, для которой вы хотите скопировать структуру, в новую папку, в которой ничего нет еще в нем.

Откройте окно командной строки. Вам не нужны права администратора для копирования структуры папок, если только вы не планируете создавать / копировать структуру на диск C, который обычно является диском Windows.

Используйте следующую команду, чтобы скопировать структуру папок.

Синтаксис

XCOPY ‘Путь к корневой папке’ ‘Путь к папке назначения’ / T / E

Пример

XCOPY ‘C: UsersfatiwOneDriveDesktopMy Тестовая папка’ D: / T / E

Первый путь — папка, в которую я поместил папку, структуру которой я хочу скопировать. Во втором пути я хочу скопировать его в корневой каталог диска D.

Читайте также:  Не открывается восстановление системы windows 10

/ T — это переключатель и Это то, что говорит Xcopy копировать только структуру папок, а не файлы в ней. / E указывает Xcopy также включать пустые папки. Конечно, вы можете запустить команду без ключа / E, и структура скопированных папок будет включать в себя только те папки, в которых есть файлы.

Xcopy — довольно мощный инструмент, и для него доступна документация, подробно различные переключатели, которые вы можете использовать с ним. Этот инструмент не предназначен только для копирования папок. Если у вас есть сложная команда копирования, которую вам нужно запустить, этот инструмент — первое, что вы должны проверить. Он уже присутствует в вашей системе и включен в системный путь, поэтому вы можете выполнять команды Xcopy непосредственно из любой папки.

Что делает его немного неудобным, так это то, что он является инструментом командной строки и не имеет графического интерфейса для него. Если вы новичок в использовании инструмента и все еще пытаетесь выяснить правильный синтаксис команды, запустите ее на тестовых папках и файлах, чтобы не потерять ничего важного.

Копирование структуры папок (без файлов) из одного места в другое

Я хочу создать клон структуры нашего многотерабайтного файлового сервера. Я знаю, что cp — parents может переместить файл, и это родительская структура, но есть ли способ скопировать структуру каталогов неповрежденной?

Я хочу скопировать в систему linux, и наш файловый сервер установлен там CIFS.

12 ответов:

вы могли бы сделать что-то вроде:

чтобы создать список каталогов, то

для создания каталогов в месте назначения.

вот простое решение с помощью rsync:

  • одна строка
  • нет проблем с пробелами
  • сохранить разрешения

Я не знаю, если вы ищете решение на Linux. Если да, то вы можете попробовать это:

это копирование атрибутов каталогов и файлов, но не данных файлов:

затем вы можете удалить атрибуты файлов, если они вас не интересуют:

просто замените SOURCE_DIR и DEST_DIR.

следующее решение хорошо работало для меня в различных средах:

заменить target_dir и source_dir с соответствующими значениями:

протестировано на OSX + Ubuntu.

Это решает даже проблему с пробелами:

в оригинале / источнике реж.:

затем воссоздать его во вновь созданном dir:

Если вы можете получить доступ с компьютера Windows, вы можете использовать xcopy с /T и /E, чтобы скопировать только структуру папок (/E включает пустые папки)

на самом деле может быть лучше 🙂

или из командной строки:

  • копирует каталоги (не рекурсивно, только один уровень)
  • сохраняет разрешения
  • в отличие от решения rsync, быстро даже с каталогами, содержащими тысячи файлов, поскольку он даже не входит в папки
  • не имеет проблем с пробелами
  • должно быть легко читать и корректировать

создайте файл типа syncDirs.php С этим содержание:

запустите его как пользователь, который имеет достаточно прав:

XCOPY — описание команды и примеры использования

Описание

XCOPY — Копирует файлы и каталоги, включая подкаталоги.

Синтаксис

xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [</a|/m>] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [</y|/-y>] [/z]

Параметры

Параметр Описание
источник Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
результат Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
/w Выводит следующее сообщение с ожиданием подтверждения начала копирования: Нажмите любую клавишу, чтобы начать копирование файлов
/p Запрашивает подтверждение при создании каждого файла-результата.
/c Игнорирует ошибки.
/v Проверяет каждый скопированный файл на соответствие его оригиналу.
/q Отменяет вывод на экран сообщений команды xcopy.
/f Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/l Отображает список копируемых файлов.
/g Создает незашифрованные файлы-результаты.
/d[:мм-дд-гггг] Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
/u Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
/i Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат — это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
/s Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
/e Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t. /t Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
/k Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут «только для чтения».
/r Копирует файлы с атрибутом «только для чтения».
/h Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
/a Копирует только те файлы, которые имеют установленный атрибут «архивный». При использовании параметра /a атрибут «архивный» у исходных файлов не меняется.
/m Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов.
/n Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
/o Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
/x Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p). /exclude:файл1[+[файл2]][+[файл3]] Определяет список файлов, содержащих строки.
/y Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/-y Выдает запрос на подтверждение перезаписи существующего конечного файла.
/z Копирует по сети в режиме перезапуска.
/? Отображает справку в командной строке.

Примечания

    • Использование параметра /exclude
      Построчный вывод всех строк в каждом файле. При соответствии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj.
    • Использование параметра /z
      Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.
    • Использование параметра /y в переменной среде COPYCMD. Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.
    • Копирование зашифрованных файлов
      При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS.
    • Добавление файлов
      Чтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3).
    • Значение по умолчанию для результата
      Если параметр результат не задан, xcopy будет копировать файлы в текущий каталог.
    • Указание в качестве результата файла или каталога
      Если параметр результат не содержит существующий каталок или не заканчивается обратной чертой(\), выводится следующее сообщение:Что означает destination:
      имя файла или каталога
      (F = файл, D = каталог)?Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы должны копироваться в каталог.Чтобы устранить вывод этого сообщения, используйте параметр /i. В результате чего, команда xcopy предполагает, что результат является каталогом, если источник престаляет собой несколько файлов или каталогов.
    • Использование команды xcopy для установки атрибута «архивный» для файлов результата
      Команда xcopy создает файлы с установленным атрибутом «архивный», независимо от состояния этого атрибута у исходных файлов.
    • Сравнение команд xcopy и diskcopy
      Команда xcopy должна быть использована вместо diskcopy при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopy копирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy это требование не нужно. Обычно следует использовать команду xcopy, если только не требуется получить два диска с одинаковыми образами.
    • Коды завершения программы xcopy

Для анализа кодов завершения, выведенных командой xcopy, используйте параметр уровень_ошибки в командной строке if пакетных программ.

В следующей таблице перечислены коды завершения с кратким описанием.

Код завершения Описание
0 Файлы скопированы без ошибок
1 Файлы для копирования не найдены
2 Нажата комбинация CTRL+C для остановки команды xcopy
4 Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды
5 Диск защищен от записи

Примеры использования

Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска A на диск B, введите:

Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h:

Чтобы обновить файлы в каталоге \Reports файлами из каталога \Rawdata, измененными после 29 декабря 1993 года, введите:

Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:

Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:

Список файлов, которые были бы скопированы, находится в файле Xcopy.out.

Чтобы скопировать каталог \Customer и все подкаталоги \\Public\Address на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:

Чтобы выдать предыдущую команду, убедиться, что команда xcopy создает каталог \Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i следующим образом:

Для запуска программы xcopy и анализа кодов завершения можно создать пакетный файл и использовать оператор if для обработки кодов завершения в случае возникновения ошибок. Например, следующая пакетная программа использует замещаемые параметры для задания источникаxcopy и результата:

Эта пакетная программа может быть использована для копирования всех файлов каталога C:\Prgmcode и его подкаталогов на диск B следующим образом:

Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1 и B вместо параметра %2, затем использует команду xcopy с параметрами /e и /s. Если при выполнении xcopy произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.

Читайте также:  Mysql как поменять пароль windows
Оцените статью