Компьютерный форум 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=260375)

vider 12-05-2013 09:27 2148449

Переименовать и переместить файлы
 
Уважаемые гуру!

ПО формирует текстовые файлы отчетов, со следующими именами:
АБВГ Abcdxxx - dd-mm-yy hh-mm-ss.txt
Необходимо:
1. Отслеживать появление файлов в папке отчетов - C:\Отчеты
2. Приводить имя файла к сл.виду Abcdxxx_dd-mm-yy_hh-mm-ss.txt
3. Перемещать переименованные файлы в папку C:\OUT

Помогите пожалуйста с написанием данного bat-ника, OC Win2000.

Foreigner 12-05-2013 10:13 2148474

Цитата:

1. Отслеживать появление файлов в папке отчетов - C:\Отчеты
Это лучше в расписание.
Цитата:

OC Win2000
Попробуйте:
Код:

@echo off
1>nul chcp 1251

pushd "c:\отчеты" || goto:eof

for /f "tokens=*" %%i in (' dir /b *.txt ') do call:1 "%%i"
popd
1>nul chcp 866
goto:eof

:1
set "file=%~1"
move %1 "с:\out\%file: =_%"


vider 12-05-2013 12:46 2148556

Увы, но ничего не переименовывает и не перемещает :cry:

Foreigner 12-05-2013 13:12 2148565

vider,
Мне сложно судить, что не так. В какой кодировке батник? Да и винтукей оставляет некоторую настороженность, вроде все должно работать, но вдруг...

vider 12-05-2013 14:05 2148585

Цитата:

В какой кодировке батник?
Кодировки я менял - не помогло.
Цитата:

винтукей оставляет некоторую настороженность
Это точно, софтина для этих целей, написанная на Дельфи, вообще не хочет в ней запускаться.
Вот и решил попробывать хоть батником как то выкрутиться.

Georgio 12-05-2013 14:43 2148605

Код:

FOR %%I IN ("C:\ЋвзҐвл\???? ??????? - ??-??-?? ??-??-??.txt") DO FOR /F "tokens=2,4,5" %%J IN ("%%~nI") DO REN "%%I" %%J_%%K_%%L.txt&&MOVE C:\ЋвзҐвл\%%J_%%K_%%L.txt C:\OUT

kiripanda 12-05-2013 16:27 2148641

move может сразу переименовывать

vider 12-05-2013 16:35 2148646

Georgio, Снимаю шляпу :up , все работает.
Можно к этому как то прикрутить логи в формате:
Дата/время->Имя исходного файла->Новое имя файла


Время: 08:17.

Время: 08:17.
© OSzone.net 2001-