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

Показать сообщение отдельно

Старожил


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

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


Предлагаю не решать "влоб" Ваш вопрос, а заменить его в соотвествии с описанием задачи и таким образов свести решение к тому, что уже обсуждалось в этой ветке:
1. Есть каталог, где появляются новые, не обработанные файлы.
2. Некая часть скрипта (которую Вы пишете самостоятельно) выполняет некие действия над очередным файлом и помечает в логе, что файл уже обработан. Файлы, запись о которых уже есть в логе (даже не просто есть , а с пометкой "Ок") обрабатываться уже не будут.

Как Вам такой вариант?

если "сойдет", то вот, легкая модификация того, что здесь уже было:
Код: Выделить весь код
@Echo off
SetLocal EnableExtensions

Set WorkDir=.\
Set Mask=*.*
Set GoodCondition=[Ok]
Set BadCondition=[fail]

set Log=%~dpn0.log


pushd %WorkDir%
for /f "tokens=1* delims=" %%F in ('dir /a-d /b /on %Mask%') do call :CheckLog "%%F"
popd
exit

:CheckLog
set File=%~1
for /f "tokens=* delims=" %%S in ('findstr /C:"%File%" %log% ^| findstr /C:"%GoodCondition%"') do exit /b
set Status=%GoodCondition%
rem Делаем что-нить полезное с файлом %File%, находящемся в текущем каталоге

Copy %File% nul

rem В случае, если обработка файла кончилась неудачно - обязательно смените "Status" на "неудачный"!!!
if Errorlevel 1 set Status=%BadCondition%

rem Кидаем пометку в лог
set tm=%time::=-%
set tm=%date:~6,4%-%date:~3,2%-%date:~0,2%_%tm:~0,-3%
echo %tm%:	%Status%	%File%>>%Log%
exit /b

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:06, 30-07-2010 | #2