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

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

Ответить
Настройки темы
CMD/BAT - [решено] Перемещение файлов, содержащих дату в названии.

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


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

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


Добрый день. Подскажите текст батника для задачи:
Имеется каталог с группой файлов с именами вида <постоянная часть>_<дата>nnn.jpg,
где дата определяется в формате ггггммдд, а после нее идет номер nnnn. Необходимо из этого каталога, где содержаться файлы за несколько месяцев переместить файлы в раздельные каталоги Месяц\День месяца (от 1 до 31).
Можно несколько упростить и не выделять отдельно месяц, но хотя бы рассортировать файлы по папкам с отельными днями, например:
<постоянная часть>_20100301nnn.jpg в папку "1"
<постоянная часть>_20100312nnn.jpg, в папку "12"
и т.д.
Благодарю заранее.

Отправлено: 15:45, 14-03-2010

 

Googler


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

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


Код: Выделить весь код
@Echo Off

Set NAME=постоянная_часть
Set ROOT=C:\TEST

PushD %ROOT%
For %%i In (%NAME%_2010???????.jpg) Do Set $N=%%i& Call :FILE_MOVE
Exit /B

:FILE_MOVE
 If Not Exist %$N:~-11,2%\%$N:~-9,2%\ MD %$N:~-11,2%\%$N:~-9,2%
 Move  "%$N%" %$N:~-11,2%\%$N:~-9,2%\
GoTo :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:29, 14-03-2010 | #2



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

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


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


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

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


Спасибо, работает!
я так понял, что 9,2 и 11, 2 - это расстояние от конца названия файла? пришлось немного модифицировать, вопросов в названии было больше
хотелось бы еще узнать, как можно переименовать перемещаемые файлы так, чтобы удалить начальную часть (%NAME%) и разделить оставшиеся части названия символами, например
_m20100315234038 ---> 2010-03-15_(23.40.38)

Отправлено: 01:37, 16-03-2010 | #3


Googler


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

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


Цитата Майклс:
это расстояние от конца названия файла? »
именно так, для справки: "SET /?"

Цитата Майклс:
например
_m20100315234038 ---> 2010-03-15_(23.40.38) »
Код: Выделить весь код
@Echo Off

Set $V=_m20100315234038
Set $R=%$V:~2,4%-%$V:~6,2%-%$V:~8,2%_(%$V:~10,2%.%$V:~12,2%.%$V:~14,2%)

Echo.
Echo %$V%
Echo %$R%
Echo.

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

Отправлено: 16:46, 17-03-2010 | #4


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


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

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


Dyskusje są zawsze głównym źródłem rzetelnych informacji oraz zapewnienie komfortowych wyniki, można uzyskać natychmiastowy i wiarygodnych informacji, które z pewnością pomogą Ci w każdej dziedzinie swojego zainteresowania.

-------
Huxlay


Отправлено: 15:34, 27-07-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
Разное - Перемещение файлов как вид дефрагментации sltt Microsoft Windows 2000/XP 12 01-03-2010 20:01
[решено] Перемещение Log-файлов в Windows Server 2003 FATruden Microsoft Windows NT/2000/2003 2 01-10-2009 12:12
русские символы в названии машин angeldragon Сетевые технологии 2 11-08-2004 18:33




 
Переход