![]() |
работа с переменными
Добрый день!
помогите, пожалуйста. есть батник, но его теперь нужно изменить, а я не знаю как задать переменную... сейчас он такой Код:
rem @echo off 1. 0000 это порядковый номер файла за день, нужно что бы он их начал считать (думаю что необходимо сделать так, что бы он записывал этот номер в *.тхт и сверял при следующем выполнении) 2. в имени этих s*_*_*_1*.txt и s*_*_*_7*.txt файлов цифра "1" и цифра "7" могут меняться на "0;1;2;6." и "3;4;5;7." соответственно - необходимо что бы он перебирал эти цифры и паковал в архивы соответствующие заранее огромное спасибо! |
Код:
@Echo Off |
Огромное спасибо за помощь!!!
да, вы правы, команда "m" удаляет файлы после архивации батник шикарный, но есть пара "но" прошу прощения, я забыл уточнить, что архивы в папке не хранятся, следовательно он не сможет посмотреть номер последнего архива, по этому и предположил, что необходимо сделать лог работы за день. этот батник пакует файлы с разным значениями "0 1 2 6" в разные архивы, а необходимо упаковать в один (если возможно, если нет, то подойдет и так), ну и для "3 4 5 7" аналогично. ещё раз приношу извинения за неточность в написании просьбы... |
Код:
@Echo Off Для "боевого" использования уберите Echo перед arj. По видимому, надёжнее и проще сделать не Код:
Set "LL=0" Код:
FOR %%N IN (%~4) DO ( |
Оба варианта прекрасно работают!
если вы говорите, что второй вариант лучше, буду использовать его! выражаю огромную благодарность!!! |
пытаюсь переделать этот батник под подобную работу, но с другими именами файлов, но так как руки из попы, у меня нифига не получается
ткните, пожалуйста, носом, что я не так делаю... есть файлы PS*_2763_0020_N_*_2763_0020.xml отличаются только цифрой "N", для цифр "1 2 3 4 9" должен быть вид архива PSEI_2763_0020_GGGGMMDD_nnn, а для "5 6" - PSKR_2763_0020_GGGGMMDD_nnn.arj я подправил так, работает, но почему то не пишет лог и естественно не дает следующий № за день Код:
@Echo Off а ещё, после него мне нужно запустить простейшую команду архивации оставшихся файлов, но она запускается параллельно, и захватывает файлы из прошлого списка, как сделать так, что бы следующая команда дождалась завершение прошлой операции? |
Попробуйте так:
Код:
@Echo Off Код:
If Not %4=="" ( Кстати, в предыдущей задаче правильнее вместо If Exist %In%\s*_*_*_%%N*.txt написать If Exist "%~3\s*_*_*_%%N*.txt" так как %In% передаётся %3 аргументом |
благодарю!!!
вопросик, а почему вы out и in раскидали, для эстетики можно же их поставить рядом? ну и с масками тот же вопрос Код:
Set "Out=Q:\testbat\ps" |
Цитата:
Код:
Set "LL=0" |
Время: 18:18. |
Время: 18:18.
© OSzone.net 2001-