У меня есть 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 /? в командной строке расскажет вам больше об использовании, если вам интересно.
