Я пишу некоторый (уродливый) код в пакетном режиме, чтобы переупорядочить файлы между папками.Как перемещать папки, если они содержат определенный файл?
Я создал часть кода, который перемещает файл одного типа с похожими именами файлов в одну и ту же папку и создает фиктивный текстовый файл с именем «serie.txt», если в нем больше файла.
В конце у меня есть папка под названием «E: \ videos \ catalogar \» с большим количеством подпапок, а некоторые из них содержат файл «series.txt». Мне нужно, чтобы переместить эти папки в путь «E: \ видео \ серии \», а для этого, я написал:
for /r "e:\videos\catalogar\" %%F in (serie.txt) do (
set directorio=%%~dpF
if not "!directorio!"=="e:\videos\catalogar\" (
del "!directorio!*.txt"
move /y "!directorio!." "e:\videos\series\"
)
)
delayedexpansion
включен. Условие if
заключается в том, чтобы не перемещать всю корневую папку.
Проблема заключается в том, что по некоторым причинам этот код перемещает все вложенные папки внутри «E: \ videos \ catalogar \», а не только те, которые содержат «serie.txt». Что не так?
Спасибо, приятель, это работает для меня! Я использовал маску «seri? .txt», и я удалил также условие if. – JohnnyBra