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