Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перемещение файлов по путям из текстового файла (http://forum.oszone.net/showthread.php?t=313465)

laden2009 03-04-2016 16:05 2622654

Перемещение файлов по путям из текстового файла
 
Добрый день! Нужен следующий скрипт:
Имеется папка "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 03-04-2016 17:49 2622676

Код:

@echo off
setlocal

for /f "tokens=*" %%i in ('type list.txt') do if exist "%%~nxi" (

    2>nul md "%%~dpi"
    move "%%~nxi" "%%i"

)


laden2009 03-04-2016 18:34 2622691

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

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

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

Foreigner 03-04-2016 18:48 2622692

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

laden2009 03-04-2016 18:55 2622694

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

Foreigner 03-04-2016 19:10 2622703

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

laden2009 03-04-2016 19:33 2622715

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

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


Время: 11:24.

Время: 11:24.
© OSzone.net 2001-