Grasshopper
|
member
|
|
|
|
Рег.: 26.09.2006
|
Сообщений: 132
|
Из: сектор Г
|
Рейтинг: 60
|
|
bat-ник для увеличения номера файла
02.04.2008 13:58
|
|
|
Имеется набор пронумерованных файлов: solp0.dat, solp1.dat, solp2.dat....
Нужно написать bat-файл, который бы увеличил номер каждого файла на 1.
Подскажите, как это сделать, пожалуйста
|
|
Hohao_Ho
|
заблудший учитель
|
|
|
|
Рег.: 05.04.2004
|
Сообщений: 970
|
|
Рейтинг: 390
|
|
|
имхо средствами батников это не делается. попробуй яваскрипт.
|
Я - это снова я |
|
fedechka
|
|
|
|
|
Рег.: 10.09.2004
|
Сообщений: 58783
|
Из: Отрадное
|
Рейтинг: 10953
|
|
Re: bat-ник для увеличения номера файла
[re: Hohao_Ho]
02.04.2008 14:01
|
|
|
это делается средствами яваскрипта?
|
без подписи |
|
Hohao_Ho
|
заблудший учитель
|
|
|
|
Рег.: 05.04.2004
|
Сообщений: 970
|
|
Рейтинг: 390
|
|
Re: bat-ник для увеличения номера файла
[re: fedechka]
02.04.2008 14:05
|
|
|
да, в WSH
|
Я - это снова я |
|
hulio
|
дядя Коля
|
|
|
|
Рег.: 09.10.2004
|
Сообщений: 72683
|
|
Рейтинг: 16183
|
|
Re: bat-ник для увеличения номера файла
[re: fedechka]
02.04.2008 14:05
|
|
|
Имелся ввиду Windows Script Host. Для него можно писать на VBScript и JavaScript.
|
помните, что Microsoft компания всегда думает о том, как вас лучше сделать. |
|
fedechka
|
|
|
|
|
Рег.: 10.09.2004
|
Сообщений: 58783
|
Из: Отрадное
|
Рейтинг: 10953
|
|
Re: bat-ник для увеличения номера файла
[re: Hohao_Ho]
02.04.2008 14:10
|
|
|
а... не пугай так:)
|
без подписи |
|
Grasshopper
|
member
|
|
|
|
Рег.: 26.09.2006
|
Сообщений: 132
|
Из: сектор Г
|
Рейтинг: 60
|
|
Re: bat-ник для увеличения номера файла
[re: hulio]
02.04.2008 14:11
|
|
|
ееее, я надеялся малой кровью. Проще изменить логику программы, которая эти файлы использует(графики по ним строит)
спасибо за реплаи
кста, а что, ЯваСкрипт умеет работать с регулярными выражениями (без них тут, вроде, никак)?
|
|
horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3784
|
|
Рейтинг: 2137
|
|
|
посимвольной работы со стрингами здесь хватит за глаза
|
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7462
|
Из: За спиной
|
Рейтинг: 4345
|
|
Re: bat-ник для увеличения номера файла
[re: Hohao_Ho]
02.04.2008 14:15
|
|
|
Имхо делается, надо тока Lynn подождать
|
|
__No__
|
|
|
|
|
Рег.: 17.01.2005
|
Сообщений: 21063
|
Из: Внутренняя Монголия
|
Рейтинг: 6310
|
|
|
Quote:
ЯваСкрипт умеет работать с регулярными выражениями?
Умеет
|
Dixi. |
|
Rad
|
delinquent guy
|
|
|
|
Рег.: 06.09.2005
|
Сообщений: 17291
|
Из: here and there
|
Рейтинг: 2232
|
|
|
работа единоразовая? Номера идут по порядку? Длина номеров одинакова?
Тогда можно и батником обойтись, имхо. Но если в цифрах нет ведущих нулей, то не получится (не будет правильно работать сортировка).
Идея: получить список файлов (dir /b >>tmpfile), дописать в конец имя, которое должно быть у последнего файла (echo .... >>tmpfile), отсортировать по убыванию (sort /r). Затем в цикле читаем этот файл (for /?), каждый раз вызываем ren, параллельно сохраняя в переменной окружения имя, т.е. (нужные параметры для for посмотри сам): for %%I.... do call :mylabel %%I goto :eof :mylabel if -%save%-==-- goto cont if -%1-==-.- goto :eof if -%1-==-..- goto :eof ren %1 %save% :cont set save=%1 goto :eof
|
|
|
Storm
|
:)
|
|
|
|
Рег.: 09.09.2004
|
Сообщений: 3301
|
Из: hane.ru
|
Рейтинг: 132
|
|
|
C:\Projects>more 1.bat FOR /L %%i IN (10000,-1,0) DO @2.bat %%i
C:\Projects>more 2.bat @set /A J=%1+1 move solp%1.dat solp%J%.dat
Можно сразу список файлов в FOR получать, но это надо help for покурить хорошо.
|
|
|
Yorik
|
|
|
|
|
Рег.: 01.09.2005
|
Сообщений: 2476
|
Из: Москва
|
Рейтинг: 633
|
|
Re: bat-ник для увеличения номера файла
[re: Storm]
02.04.2008 15:07
|
|
|
я бы добавил проверку, существует ли файл
|
|
Rad
|
delinquent guy
|
|
|
|
Рег.: 06.09.2005
|
Сообщений: 17291
|
Из: here and there
|
Рейтинг: 2232
|
|
Re: bat-ник для увеличения номера файла
[re: Storm]
02.04.2008 15:38
|
|
|
о... все гениальное - просто. А зачем два файла?
|
|
|
Transmission
|
Torrent client
|
|
|
|
Рег.: 01.04.2008
|
Сообщений: 160
|
Из: uname -a
|
Рейтинг: -57
|
|
Re: bat-ник для увеличения номера файла
[re: Rad]
02.04.2008 15:39
|
|
|
Quote:
А зачем два файла?
welcome to *.bat world
|
|
Rad
|
delinquent guy
|
|
|
|
Рег.: 06.09.2005
|
Сообщений: 17291
|
Из: here and there
|
Рейтинг: 2232
|
|
|
В ответ на:
welcome to *.bat world
разве под NT между *.bat и *.cmd есть какое-то отличие?
|
|
|
BorisL
|
постоянный отец
|
|
|
|
Рег.: 23.02.2004
|
Сообщений: 17631
|
Из: torrent.msu
|
Рейтинг: 3560
|
|
Re: bat-ник для увеличения номера файла
[re: Rad]
02.04.2008 16:48
|
|
|
если в реестр залезть и нашкодничать там - будут.
|
|
Rad
|
delinquent guy
|
|
|
|
Рег.: 06.09.2005
|
Сообщений: 17291
|
Из: here and there
|
Рейтинг: 2232
|
|
Re: bat-ник для увеличения номера файла
[re: BorisL]
02.04.2008 17:19
|
|
|
В ответ на:
если в реестр залезть и нашкодничать там - будут.
Если уж на то пошло, топикстартер не сказал, что у него за ОС, может у него *nix, а слово "батник" он по привычке использует
|
|
|
CROTishka
|
Shai-Hulud
|
|
|
|
Рег.: 09.06.2004
|
Сообщений: 31438
|
Из: - под земли
|
Рейтинг: 3654
|
|
Re: bat-ник для увеличения номера файла
[re: Storm]
02.04.2008 17:47
|
|
|
|
Grasshopper
|
member
|
|
|
|
Рег.: 26.09.2006
|
Сообщений: 132
|
Из: сектор Г
|
Рейтинг: 60
|
|
Re: bat-ник для увеличения номера файла
[re: Rad]
02.04.2008 21:18
|
|
|
Работа единоразовая. Номера обычно от 1 до 9, но могут и двузначные появиться, отсутствие ведущих нулей - да, это проблема. Номера по порядку. Система Windows, так что батник не "по привычке".
Спасибо за посты, у меня тут у самого кое-какие идеи зашевелились, по моему даже проще можно, учитывая структуру имен (solpN.dat).
Только как сделать строчку 'solpN.dat', N - число, хранящееся в переменной I - вот так: $filename$ = solp%%I.dat ??
|
|