![]() |
переменная меняется внутри цикла for, последовательно принимая значения имен файлов
cd E:\log
setlocal enabledelayedexpansion set list= for %%i in (*) do set list=!list! %%i echo %list% set list >>E:\1.txt а вот уже set aa=%list:~0,1% не работает |
islily, приведите полный код, поскольку непонятно, в каком месте кода
Цитата:
|
Цитата:
Код:
set aa=!list:~0,1! Код:
call set aa=%%list:~0,1%% |
Цитата:
|
Iska, я тоже поправил...
|
Вложений: 1
вот
|
Iska, Georgio, выше написала на каком этапе я не могу продолжить написание батника
Решение будет состоять из 3х батников, 1.bat определяет каким днем должны быть-> от сегодняшнего - 3 дня и от сегодняшнего - месяц -3дня, 2.bat должен работать с папкой с логами, определить что архивировать, как архивировать и куда. 3.bat должен просто выполнить первые 2 батника и удалить txt кот создавались ими (не обяз-но). |
islily, а что Вы хотите получить с помощью "1.bat" и "2.bat"?
Приведите желаемые результаты в том же виде, в каком Вы их хотите видеть по завершении работы этих пакетных файлов (то есть желаемое содержимое файла "1.txt" в обоих случаях). |
Georgio, чтобы понять каков результат должен быть, нужно прочитать задание, кот я прикрепила
1.txt я для самопроверки сделала. 1.bat я его сделала до конца, там он определяет с каким днем нужно сравнивать лог файлы в папке в зависимости от сегодняшнего дня %date%. Сравнение идет по двум условиям 1) не прошел месяц 2) прошло более месяца И там и там не берем файлы за последние 3 дня. И сделала эти переменные форматом yyyymmdd 2.bat не могу сделать. Т.к это множество лог файлов %list% нужно перебрать и сделать переменные aa=%list%:~0.8 чтобы они были тоже фотматом yyyymmdd. И затем эту переменную сравнивать. Если название лога yyyymmdd (из 2.bat)> yyyymmdd (из 1.bat), то архивируй в один файл и переписаны в другой каталог E:\log 20141112.log 20141111.log 20141110.log ......... |
islily, для создания архива файлов определённого временного диапазона посмотрите в сторону ключей -to, -tn архиватора rar
|
Цитата:
|
Помогите пожалуйста :dont-know
|
islily, это обязательно должен быть пакетный файл? Суть в том, что на WSH/PoSH работа с интервалами дат реализуется готовыми функциями/методами, а на пакетных файлах все вычисления надо делать «ручками».
Смысл задания не осилил ;). |
Iska, Да, это должен быть CMD/BAT
Пофиг на смысл) Мне продолжить решение надо...я близка к концу, загвоздка вот в чем> Есть логи E:\log 20141112.log 20141111.log 20141110.log ......... мне нужно работать с их именами в дальнейшем, для этого мне надо взять первые 8 символов и присвоить переменную. Т.к. логов много она должна меняться, а затем я буду писать условие, если аа LEQ d3, то тратата. аа - та самая переменная |
Код:
@echo off |
Цитата:
|
Georgio, супер, супер, я могу снова продолжать решение))))))) до такого я б наверно не додумалась)
|
Georgio,
Цитата:
|
Ребят!! Мой вопрос не по вашей части? Мне идти на другой форум? Или все же дадите решение моей проблемы, пожаааааааалуйста. На Винде сделала, а вот на Убунту нет, опять на той же фигне застопорилась(((
|
Время: 13:39. |
Время: 13:39.
© OSzone.net 2001-