Ранее мы видели, как отразить содержимое папки используя различные инструменты и методы. Но бывают ситуации, когда вы хотите скопировать структуру папок, не копируя файлы в этих папках. Например, вы можете захотеть воспроизвести структуру каталогов ваших расходов или учетных папок, чтобы организовать их по годам.
У меня есть следующая структура папок для хранения документов, относящихся к 2018-19 финансовому году. В следующем финансовом году я хотел бы скопировать структуру каталогов (без копирования файлов) в родительскую папку с именем 2019-20, чтобы сохранить единообразие.
D: ОФИЦИАЛЬНЫЙ 2018-19 ├───Счета │ ├─── Отчет о выверке банка │ ├───Капитал │ ───TDS ├───Банковские отчеты │ ├─── Счета SB │ └─ ──Срочные вклады ├───Расходы │ ├───Компьютерные аксессуары │ ├───Заработная плата и плата за договор │ │ ├─── Заработная плата персонала │ │ └───Работа ├─── Путешествие │ └─ ──Веб-хостинг ├─── Налог на прибыль │ ├─── Расширенные налоговые поступления │ ├───Налоговые поступления │ ├─── Распоряжения о возврате ├ ├─── Налоговые поступления на самооценку │ └─── Подтверждение налоговой декларации ├ ─── Письма └─── Квитанции ├───Реклама ├───Партнер └─── Обучение
Проводник не позволяет копировать папки без копирования файлов. Но есть методы командной строки и сторонние инструменты, которые могут легко воспроизвести структуру каталогов. Давайте обсудим собственные инструменты командной строки для репликации структуры папок.
Репликация структуры каталогов
- Метод 1: Использование XCopy
- Метод 2: Использование RoboCopy
- Метод 3: Использование PowerShell
- Метод 4: Использование PowerShell (с пакетным файлом)
Копировать структуру папок без копирования файлов
Использование команды XCopy
Встроенная команда XCopy в Windows может копировать каталог или дерево каталогов (т. Е. Рекурсивно). Переключатели / T / E
убедитесь, что копируются только папки (включая пустые) без копирования файлов.
Откройте окно командной строки и используйте следующий синтаксис командной строки:
xcopy источник назначения / t / e
Например:
xcopy D: Official 2018-19 D: Official 2019-20 / t / e
Если папка назначения не существует, вас спросят, 2019-20
относится к имени файла или имени каталога ( F
= файл, D
= каталог) на цели. Нажмите D
продолжать.
В 2018-19
структура папок теперь реплицируется на 2019-20
.
-
/ Т
Создает структуру каталогов, но не копирует файлы. Не включает пустые каталоги или подкаталоги. -
/ T / E
включает пустые каталоги и подкаталоги.
Использование Robocopy
Используя встроенный Robocopy, вы можете отразить структуру каталогов (без копирования файлов), используя следующий синтаксис командной строки:
robocopy 'D: Official 2018-19' 'D: Official 2019-20' / e / xf *
-
/является
- Копировать подкаталоги, в том числе Пустые. -
/ xf *
- Исключает все файлы - обозначается подстановочным знаком*
Наконечник: Если вы хотите исключить определенные папки, используйте / xd
переключатель.
Использование PowerShell
Используя PowerShell, вы можете зеркалировать дерево каталогов (без копирования файлов), используя следующий синтаксис командной строки:
Copy-Item -LiteralPath 'D: Official 2018-19' -Destination 'D: Official 2019-20' -Recurse -Filter {PSIsContainer -eq $ true}
Это оно. Вы скопировали структуру каталогов в другую базовую папку.
Как воспроизвести структуру каталогов на другом компьютере
Если вы хотите реплицировать структуру папок на другом компьютере, который не находится в сети, используйте один из описанных выше методов в этой системе для зеркалирования дерева каталогов.
Затем заархивируйте зеркальную папку с помощью проводника Поделиться вкладка или через контекстное меню - Отправить → Сжатая (заархивированная) папка
вариант.
Скопируйте zip-файл на свой компьютер и извлеките его содержимое в папку. Структура папок будет сохранена, когда вы извлечете ее на целевой компьютер.
В качестве альтернативы используйте метод пакетного файла ниже.
Метод 4: Использование PowerShell (с пакетным файлом)
Используя PowerShell, вы можете получить список папок и создать готовый пакетный файл с инструкциями по созданию точно такой же структуры каталогов на целевом компьютере.
Запустите PowerShell и используйте следующую командную строку синтаксис :
(gci -Path 'folder_path' -Directory -Name -Recurse) | foreach-object {'md `' '+ $ _ +' '' '} | Out-File -FilePath 'output_file' -Encoding [тип]
Пример:
Чтобы получить список каталогов под Резервное копирование Аккаунты
папку рекурсивно и создать командный файл, выполните следующую команду:
(gci -Path 'D: Backup Accounts ' -Directory -Name -Recurse) | foreach-object {'md `' '+ $ _ +' '' '} | Out-File -FilePath d: output.bat -Encoding UTF8
PowerShell выводит на ASCII файл по умолчанию. Лучше бы ты выбрал UTF8 особенно если в названиях папок есть иностранные символы. В этом случае замените
-кодирование ASCII
к -кодирование UTF8
в командной строке выше. Также ознакомьтесь с этой веткой форума SuperUser Файлы с не-ASCII символами в имени файла в пакетном файле Windows для обходных путей ( chcp
command) вы можете использовать при запуске командного файла.
В output.txt
в приведенном выше примере - это командный файл, который создает точную структуру папок (рекурсивно) при запуске на целевом компьютере.
- Передайте командный файл на целевой компьютер.
- Переименуйте файл с расширением .bat - например,
output.bat
- Откройте окно командной строки на целевом компьютере.
- Перейдите в базовый каталог, в котором вы хотите, чтобы командный файл создавал вложенные папки - например,
e: accounts
.
- Запустить файл
output.bat
из этого каталога в командной строке. - При желании проверьте диалоговое окно свойств родительской папки как в источнике, так и в месте назначения.
Это оно. Вы скопировали структуру каталогов на целевом компьютере с помощью командного файла.
Есть ли у вас какой-либо другой метод репликации структуры каталогов на другом диске или компьютере? Сообщите об этом в разделе комментариев ниже.
Одна небольшая просьба: если вам понравился этот пост, поделитесь им?
Одна «крошечная» публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:- Приколи это!
- Поделитесь этим в своем любимом блоге + Facebook, Reddit
- Напишите об этом в Твиттере!