Не уверен, для чего предназначен setlocal, но я нашел его в примере скрипта для чего-то еще, что требовало нескольких команд в цикле for.
Filelist.txt содержит список файлов с полным путем к общему ресурсу.
Например: \\FileShare\Division\Project\file.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (filelist.txt) do (
mkdir "D:\Archive\%%~dpi"
move "%%i" "D:\Archive\%%i")
endlocal
Сценарий берет файлы из filelist.txt (построчно) и копирует структуру каталогов пути, а затем перемещает файл. Используя мой пример выше, он создает каталог D:\Archive\FileShare\Division\Project\, а затем перемещает файл file.txt в этот каталог.
Я как бы собрал это из существующих примеров различных задач, которые я нашел здесь. Есть советы по очистке?
Изменить: чтобы ответить на комментарий ниже. Сценарий был создан для работы с отчетом о файлах, к которым не обращались более года. Вот почему мне нужно было работать со списком файлов, потому что я хотел сохранить структуру папок и все остальные файлы нетронутыми. Если бы был какой-то способ интегрировать это в сценарий, было бы здорово!