Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

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

Новый участник


Сообщения: 10
Благодарности: 2


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день! Нужен следующий скрипт:
Имеется папка "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

Отправлено: 16:05, 03-04-2016

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Код: Выделить весь код
@echo off
setlocal

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

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

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:49, 03-04-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 10
Благодарности: 2

Профиль | Отправить PM | Цитировать


Foreigner, не работает, никаких сообщений не выводится, если даже добавить в конец "pause". Если убрать строку "@echo off" пишет
Код: Выделить весь код
D:\1>s
"s" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Пробовал на разных наборах файлов/папок - результат один.

Отправлено: 18:34, 03-04-2016 | #3


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


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

Отправлено: 18:48, 03-04-2016 | #4


Новый участник


Сообщения: 10
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:55, 03-04-2016 | #5


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


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

Отправлено: 19:10, 03-04-2016 | #6


Новый участник


Сообщения: 10
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

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

Последний раз редактировалось laden2009, 03-04-2016 в 20:03.


Отправлено: 19:33, 03-04-2016 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение файлов по путям из текстового файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - перемещение файлов в каталог созданный из части имени файла surrender1 Скриптовые языки администрирования Windows 9 10-10-2013 14:42
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла icomboy Скриптовые языки администрирования Windows 0 10-09-2013 15:17
CMD/BAT - поиск файла по путям, заданным в произвольной переменной окружения CyberMuesli Скриптовые языки администрирования Windows 4 25-06-2012 14:23
CMD/BAT - [решено] Перемещение файлов из одной папки в разные в зависимости от имени файла Sarge81 Скриптовые языки администрирования Windows 4 20-09-2011 04:20
CMD/BAT - [решено] Скачивание с FTP по списку из текстового файла Angel_Ok Скриптовые языки администрирования Windows 3 23-08-2011 22:32




 
Переход