CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Ответить
Аватара пользователя
laden2009

CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение laden2009 »

Добрый день! Нужен следующий скрипт:

Имеется папка "D:\1\" с файлами, в которой нет подпапок. Например:



Код:

Код: Выделить всё

01 - Dance Of Fate.flac
01 - Hunab K'u.flac
02 - Dance Of Fate.flac
02 - The Last Crusade.flac
03 - Solitary Ground.flac
03 - The Last Crusade.flac
04 - Blank Infinity.flac
04 - Solitary Ground.flac
05 - Blank Infinity.flac

И есть текстовый файл list.txt в той же папке со списком файлов с абсолютными путями:



Код:

Код: Выделить всё

D:\1\Album\CD1\01 - Hunab K'u.flac
D:\1\Album\CD1\02 - Dance Of Fate.flac
D:\1\Album\CD2\02 - The Last Crusade.flac
D:\1\Album\CD2\03 - Solitary Ground.flac
D:\1\Album\CD1\03 - The Last Crusade.flac
D:\1\Album\CD2\04 - Blank Infinity.flac
D:\1\Album\CD1\04 - Solitary Ground.flac
D:\1\Album\CD1\05 - Blank Infinity.flac

Требуется, чтобы файлы из папки "D:\1\" переместились по путям, взятым из текстового файла list.txt
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=*" %%i in ('type list.txt') do if exist "%%~nxi" (
    2>nul md "%%~dpi"
    move "%%~nxi" "%%i"
)
Аватара пользователя
laden2009

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение laden2009 »

Foreigner, не работает, никаких сообщений не выводится, если даже добавить в конец "pause". Если убрать строку "@echo off" пишет

Код:

Код: Выделить всё

D:\1>s
"s" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Пробовал на разных наборах файлов/папок - результат один.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение Foreigner »

laden2009, Как вы запускаете батник? Сохраните его в папке с файлами (flac и list.txt).
Аватара пользователя
laden2009

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение laden2009 »

Foreigner, Батник сохранен в папке "D:\1\". Файл list.txt там же. Запускаю двойным кликом - окно появляться на доли секунды и закрывается. Пробовал на файлах без пробелов и без кириллицы в именах.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение Foreigner »

laden2009, попробовал, создал папку, в ней файлы, создал list.txt, все отработало правильно. Даже файл "01 - Dance of Fate.flac", которого нет в list.txt, остался на месте. Так что смотрите внимательней на пути, указанные в файле list.txt
Аватара пользователя
laden2009

Re: CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Сообщение laden2009 »

Foreigner, попробовал на windows server 2008 - замечательно батник отработал, спасибо.

На Windows 8.1 почему-то не работает, буду тестировать дальше.



Заработало на всех системах, просто я сделал батник не в той кодировке, из-за этого и были проблемы.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»