У меня есть 20-30 папок, которые находятся в корневой папке. Папки содержат один файл или несколько файлов с одинаковыми расширениями. Есть ли более эффективный способ извлечения файлов, чем выбрать все папки -> Ctrl + Enter -> Извлечь файл и закрыть окно в Windos 8.1?

1 ответ1

1

Предполагая, что Windows 8.1 работает как Windows 7, вы можете перейти в корневой каталог и затем поискать * чтобы найти все файлы. Это должно перечислить все файлы во всех подкаталогах в одном месте. Затем вы можете выбрать все файлы и переместить их туда, куда вы хотите, чтобы они пошли.

Возможно, лучший способ, если вам удобна командная строка, - создать пакетный скрипт для рекурсивного цикла по каталогам и копирования файлов. Что-то вроде этого должно работать (честное предупреждение: я не проверял это, поэтому, возможно, вы сначала захотите сделать резервную копию)

for /F %%A in ('dir /b /s /a-d ROOT\DIRECTORY') do copy %%A DESTINATION\PATH

Замените ROOT\DIRECTORY на путь к корневой папке, а DESTINATION\PATH на то, где вы хотите, чтобы файлы заканчивались. Вы также можете просто ввести цикл for в командной строке (а не помещать его в файл .bat), но если вы это сделаете, используйте %A а не %%A

Вышеприведенный цикл for основном вызывает dir для вывода списка всех файлов в корневом каталоге, а затем для каждой записи вызывает copy чтобы скопировать их в целевой каталог.

Объяснение вариантов dir:

/b: печатает только имя файла и путь, но не заголовки / колонтитулы

/s: рекурсивно проходит через все подкаталоги

/a-d: запрещает распечатывать каталоги, поэтому отображаются только файлы (в противном случае он попытается скопировать каждый из каталогов непосредственно в место назначения)

Печатать dir /? , for /? или copy /? в командной строке расскажет вам больше об использовании, если вам интересно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .