Ситуация:
Многочисленные подпапки со случайными именами папок, содержащие несколько файлов со случайными именами. Одни я хочу сохранить, другие можно удалить.
Цель:
Переместите файлы с расширениями: * .exe * .pdf * .avi или другими указанными расширениями из подпапок в общую отдельную папку, не создавая прежнюю структуру папок. Так что у меня есть одна папка с только файлами, которые я хочу, оставляя позади любые другие типы файлов. Затем запишите имена каталогов подпапок (results-log.log) и удалите подпапки и все, что в них осталось.
Пример; отправной:
- Parent1
- sub1
- random1.exe
- random2.pdf
- random3.txt
- sub2
- random4.exe
- random5.avi
- random6.log
- random7.jpg
- sub1
Конечный результат:
- parent2
- Результаты-log.log
- random1.exe
- random2.pdf
- random4.exe
- random5.avi
Поэтому я искал другие ответы, и похоже, что мне нужен какой-то цикл FOR, но я недостаточно понимаю, как это работает с параметрами, чтобы делать то, что мне нужно. Перемещение pdf-файлов в родительскую папку из подпапки с именами переменных является одним из примеров, на который я посмотрел, и просмотрел предлагаемое чтение, но я совершенно не понимаю, как работают параметры и переменные. Особенно там, где мне нужно охватить несколько типов файлов.
Пока я смотрю на что-то вроде этого:
@ECHO OFF
SETLOCAL EnableExtensions
set "_parent=c:\logs\cache\"
set "_dest=c:\archive\"
for /D /r %%G in ("%_parent%\*") do (
if exist "%%~G\*.pdf" (
echo move /B "%%~G\*.pdf" "%_dest%\"
) else (
echo nothing to copy "%%~G\*.pdf" "%_parent%\"
)
)
- Строка 3 Я полагаю, что устанавливает «c:\logs\cache\» в качестве родительской папки, так что в моем примере об этом будет равно "parent1"
- В строке 4 следует указать место назначения, например, для папки "parent2" как «c:\archive»
- Строка 5 является правильной
%%G
? Имеет ли значение, что это за письмо? - Строка 6, как мне указать другие расширения файлов, которые я хочу найти?
- В строке 7 я хочу использовать
move
или что-то еще, и что такое параметр/B
?/y
- единственный, кого я знаю оmove
.
Надеюсь, достаточно информации, можете редактировать по мере необходимости для получения дополнительной информации.