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

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

Ответить
Настройки темы
CMD/BAT - Сравнивание и переименвание файлов

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


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


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

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


Задача для меня такова:

есть папка 2013 в ней находится папка All Files и много файлов формата xxx1.ufo, xxx2.ufo, xxx3.ufo итд (наш местный формат), в Папку 2013 каждый день падают такие файлы с разными названиями но одинакового формата нужно что бы батник делал следующее

все файлы в папке 2013 переименовывал в формат xxx_001.ufo, xxx_002.ufo итд где 00х это порядковый номер и переносил их в папку All Files далее когда на следующий день он должен сравнивать какой номер последний в папке All Files и в паке 2013 ставить следующий порядковый номер.


Вроде так. Просто не соображу как это сделать помогите плиз!!!!

Отправлено: 10:29, 08-01-2013

 

Аватара для zion87

Старожил


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

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


Код: Выделить весь код
@echo off
set folder=2013
set for=All files
set n=0
cd %cd%
if not exist log.txt goto :next
for /f %%i in (' more +0 log.txt ') do set n=%%i
:next
for /f "delims=*" %%H in ('dir /b /a-d "%folder%\*.*"') do call :0 "%%~nxH"
goto:eof
:0
set /a n=%n%+1
set numb=00%n%
if /i %n% GEQ 10 set numb=0%n%
if /i %n% GEQ 100 set numb=%n%
cd "%folder%"
ren "%1" xxx_%numb%.ufo
move xxx_%numb%.ufo "%for%\"
cd ..
echo %n% >log.txt
файл log.txt не удалять там сохраняется счетчик(удалишь счетчик обнулится)
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:48, 08-01-2013 | #2



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

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


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


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

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


zion87,
Можешь расшифровать каждую строчку???

Как сделать что бы батник запускался с любово места то есть с любой папки где бы не находился батник???? (нужно наверно как то прописать путь к папкам только как???

Последний раз редактировалось gon_za, 08-01-2013 в 14:37.


Отправлено: 14:25, 08-01-2013 | #3


Аватара для zion87

Старожил


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

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


Код: Выделить весь код
@echo off
chcp 1251
::Присваиваем переменным значения(адреса)
set log=%cd%
set koren="C:\Documents and Settings\Admin\Рабочий стол\ufo"
set folder=2013
set for=All files
set n=0
::Ищем файл log.txt если есть то извлекаем последнее число
if not exist log.txt goto :next
for /f %%i in (' more +0 log.txt ') do set n=%%i
:next
::Переходим в дирректорию с папкой 2013
cd /d %koren%\
::Находим все файлы в папке 2013
for /f "delims=*" %%H in ('dir /b /a-d "%folder%\*.*"') do call :0 "%%~nxH"
goto:eof
:0
::Накручиваем счетчик
set /a n=%n%+1
set numb=00%n%
if /i %n% GEQ 10 set numb=0%n%
if /i %n% GEQ 100 set numb=%n%
::Переходим в папку 2013
cd "%folder%"
::Переименовываем файлы согласно вашей маске
ren "%1" xxx_%numb%.ufo
::Перетаскиваем файлы в All files
move xxx_%numb%.ufo "%for%\"
::Заносим последний поряд. номер в log.txt
echo %n% >"%log%\log.txt"
Попробуйте так: добавил кавычки(дабы включить пробелы), ключ /d к команде cd(переход на другие диски) и кодировку chcp 1251

Последний раз редактировалось zion87, 09-01-2013 в 06:10.


Отправлено: 22:13, 08-01-2013 | #4


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


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

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


Не хочет. Вставляю путь пишет не удается найти указанный файл

Путь точно правильный.

Отправлено: 03:43, 09-01-2013 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Сравнивание двух файлов .csv и удаление дублей XXXp Скриптовые языки администрирования Windows 12 18-10-2012 14:19
VBS/WSH/JS - [решено] Удаление файлов по сети старше 7 дней, оставлять не менее 10 файлов white155 Скриптовые языки администрирования Windows 6 04-01-2012 00:42
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15
VBS/WSH/JS - Сравнивание названий в ячейках Exel и перенос несовпавших вниз andreton Скриптовые языки администрирования Windows 1 06-09-2010 18:52
Интерфейс - [решено] Список файлов не обновляется автоматически при создании\удалении файлов на dfs-шарах. Serg_T Microsoft Windows 2000/XP 2 19-09-2008 02:12




 
Переход