Ошибка

Переименование файлов в раздачах (*.bat - файлы)

Тема закрыта
 
Автор Сообщение

Shamik

Пол: Пол:Муж

Стаж: 14 лет

Сообщений: 642

Кокосовые острова
Рейтинг

post 01-Мар-2010 12:22 [-]0[+]

[Цитировать] 

Автор _max_ (updated 01.04.2008)
Переименование файлов и папок в раздачах
В раздачах, где большое количество файлов и папок, например в дискографиях групп или других больших подборках, очень часто возникает необходимость переименования\переноса файлов и папок, а также удаление и добавление новых. Для пользователей, уже скачавших старую версию такой раздачи, с целью автоматизации этого процесса, т.е. уменьшения человеческого фактора, который приводит к большим временнЫм затратам на однообразную работу, а также практически не имеет "алгоритма коррекции ошибок", предлагаю следующий вариант:
1) Автор раздачи при необходимости изменения её содержания (переименования\переноса, добавления или удаления),
НЕ ДЕЛАЕТ ЭТО САМ, а создаёт исполняемый текстовый *.bat-файл, в котором последовательно содержатся DOS-овские (консольные) команды переименования\переноса и удаления файлов. Добавление новых не нужно описывать в этом файле, т.к. в них нет потребности.
Нажать "Пуск" - "Программы" - "Стандартные" - "Блокнот".
1. Набрать в первой строке команду:
chcp 1251
это необходимо для корректного восприятия русских имён в кодировке Windows.
2. набирать последовательно по строкам все необходимые команды переименования\переноса. При этом рекомендуется использовать копирование в буфер схожих команд (Сtrl-C, Ctrl-V), а также имён\путей файлов для избежания опечаток.
3. Cохранить файл (Меню "Файл" - "Сохранить"), и вместо предлагаемого расширения файла *.txt заменить его на *.bat
*.bat - это исполняемый текстовый файл, содержащий список команд.
Сохранить файл нужно обязательно в папку, где лежит раздача (например, в папку "aria_video")
2) Автор темы сам у себя запускает этот файл, т.е. проводит все операции которые он задумал.
3) Автор темы обновляет торрент-файл в раздаче, а также этот *.bat файл вывешивается в теме раздачи в каком-либо виде: в виде текста или в виде прикреплённого файла, не важно
4) Действия пользователя:
а) [для недокачанных раздач] необходимо проверить, не стоит ли в Настройках торрент-клиента uTorrent галка:
Настройки - Закачки - Разное - *.!ut для недокачанных файлов.
Если она стоит - СНЯТЬ её и нажать "Применить". При этом все эти дополнительные расширения у всех недокачанных файлов автоматически удалятся. Потом (после завершения всех операций) можно это вернуть обратно аналогичным образом.
б) Пользователь скачивает *.bat файл, и имея у себя скачанную раздачу, сохраняет этот файл обязательно в папку, в которой у него лежат файлы раздачи (именно внутрь корневой папки раздачи, например в папку "aria-video"), после чего запускает его. Если Всё сделано правильно, то все операции пройдут успешно.
5) Пользователь скачивает обновлённый торрент-файл, ставит на закачку, и объём скачанных данных у него должен остаться прежним (если не было удалений) или соответствовать новому объёму файлов на диске (не путать с процентами, т.к. общий объём файлов раздачи мог измениться)
Для начала - важная информация про пути: Все пути файлов - должны быть относительные, и корнем в них должна быть корневая папка раздачи (без указания её имени).
Например, если папка раздачи = "aria_video", то относительный путь к папке "Концерты", лежащей в ней, будет таким:
"\Концерты"
Т.е. не нужно указывать полный путь с диском и всеми предшествующими папками, т.к. у каждого пользователя папка раздачи может быть сохранена в совершенно разных местах и иметь другое имя.

команда move - синтаксис:
Перемещение файлов и переименование файлов и папок

Перемещение одного или более файлов:
MOVE [/Y | /-Y] [диск:][путь]имя_файла1[,...] назначение

Переименование папки:
MOVE [/Y | /-Y] [диск:][путь]имя_папки новое_имя_папки

[диск:][путь]имя_файла1 Определяет местоположение файла или файлов, которые
необходимо переместить.
Назначение Определяет новое местоположение файла. Назначение
может состоять из буквы диска (с последующим
двоеточием), имени папки или их комбинации. При
перемещении только одного файла, можно указать и его
новое имя, если хотите выполнить его одновременное
переименование при перемещении.
[диск:][путь]имя_папки Определяет папку, которую необходимо переименовать.
новое_имя_папки Определяет новое имя папки.

/Y Перезаписывать существующие файлы назначения без
предупреждения.
/-Y Предупреждать при перезаписи существующего файла
назначения.

Ключ /Y может присутствовать в значении переменной среды окружения COPYCMD.
Оно может перекрываться ключом /-Y в командной строке. По умолчанию
используется предупреждение о перезаписи, если только команда MOVE не
выполняется как часть пакетного файла.

пример: перемещаем файл в папку "aaa", являющуюся подпапкой текущей.
Исполняемый bat-файл нужно запускать из текущей папки. В противнром случае необходимо указывать полные пути к каждому файлу и папке.

move "02 DIVA - Картина мира.mp3" "aaa\02 DIVA - Картина мира.mp3"

пример: переименования файла:
move "aaa\02 DIVA - Картина мира.mp3" "aaa\02 D.I.V.A. - Картина мира.mp3"

пример переименования папки:
move "aaa" "bbb"

команда rename - переименование файлов или папок:

Переименование одного или нескольких файлов.

RENAME [диск:][путь]имя_файла1 имя_файла2.
REN [диск:][путь]имя_файла1 имя_файла2.

Для конечного файла нельзя указать другой диск или каталог.
Можно использовать макски (например *.mp3)

Пример:
rename "02 D.I.V.A. - Картина мира.*" "02 DIVA - Картина мира.*"

Другие команды:
md - создание папки


пример: в подпапке "aaa" будет создана папка "ddd"
md "aaa\ddd"
P.S. При удалении ненужных файлов КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ использовать команду удаления, а рекомендуется использовать команду перемещения файлов\папок в папку-мусорку (типа корзины, но только для этой раздачи), т.к. пользователь имеет право сам решать что делать с файлами, ранее скачанными, но теперь удалёнными из раздачи.
например: если папка раздачи = "aria_video"
то папку-мусорку можно назвать "aria_video_delete"
и доступ к ней из папки раздачи получать следующим образом:
..\aria_video_delete\
конкретный пример переноса вместо удаления:
md "..\aria_video_delete"
md "..\aria_video_delete\Концерты"
move "Концерты\1994 - Клуб 'Пилот'" "..\aria_video_delete\Концерты\"
info [Профиль]  [ЛС] 

Shamik

Пол: Пол:Муж

Стаж: 14 лет

Сообщений: 642

Кокосовые острова
Рейтинг

post 01-Мар-2010 12:27 (спустя 4 минуты) [-]0[+]

[Цитировать] 

Для *никсоидов
(если кто не знает)

I. Дейстаия автора раздачи
1) создаем файл file.sh
2) открываем любимым редактором и пишем:
#! /bin/bash

команда 1
команда 2
...
команда n
Синтаксис:
mkdir имя - создать папку
mv что куда - переместить/переименовать файл или папку
При этом, если имя файла или папки содержит пробел, нужно либо его эскейпить (т.е. вместо пробела писать "\ "), либо весь путь брать в одинарные кавычки.
Можно использовать макски (например *.mp3).
3) обновляем торрент-файл в раздаче, а также этот *.sh файл вывешиваем в теме раздачи в каком-либо виде: в виде текста или в виде прикреплённого файла, не важно.

II. Дейстаия пользователя
1) скаиваем file.sh файл в папку, где находится раздача
2) открываем консоль и идем в эту же папку (cp путь)
3) говорим chmod a+x file.sh (делаем файл исполняемым)
4) говорим ./file.sh (запускаем)
Если консоль ничего не написала, значит все прошло успешно. Если какой-то файл не был найден или не удалось получить доступ и т.п., она скажет, что, где и как.

Пример

Имеем: папку раздачи "aria_video"; файл "Poterjannyj raj.avi" в корневой папке, который надо переместить в папку "aaa"; файл "Ulica_roz.mpg", который нужно переименовать в "Ulica roz.mpg"; файл "Otshelnik.avi", который нужно удалить из раздачи и поместить в папку "aria_video_delete", находящуюся на одном уровне с корневой; концерты, содержащие в своем имени "live", которые нужно переместить в папку "concerts"
#!/bin/bash

mkdir aaa
mv Poterjannyj\ raj.avi aaa
# или mv 'Poterjannyj raj.avi' aaa
mv Ulica_roz.mpg Ulica\ roz.mpg
# или mv Ulica_roz.mpg 'Ulica roz.mpg'
mkdir ../aria_video_delete
mv Otshelnik.avi ../aria_video_delete
mkdir concerts
mv *live* concerts

_________________
info [Профиль]  [ЛС] 
Показать сообщения:    
Тема закрыта

Текущее время: 19-Апр 23:25

Часовой пояс: GMT + 4



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы