Пакетное чтение каталога и проблема с файлом - PullRequest
0 голосов
/ 23 сентября 2010
for /f %%f in ('dir /b C\logs\*.log') do (
 for /f "tokens=2,3,4 " %%i in (\\***%%f) do (
  if %%i==START echo %%k
 )
)

этот скрипт будет искать во всех * .log файлах поиск START в качестве второго слова en, а затем выводит мне четвертое слово (метку времени), но я хочу эту метку времени в переменной, как эта, но я не работаю

for /f %%f in ('dir /b C\logs\*.log') do (
 for /f "tokens=2,3,4 " %%i in (\\***\%%f) do (
  if %%i==START set timestamp=%%k
 )
 echo %timestamp%
)

% timestamp% var пуст, когда я его повторяю?кто-нибудь может мне помочь?

Regard Marco

1 Ответ

1 голос
/ 25 сентября 2010

Вы изменяете переменную внутри цикла, поэтому вам нужно добавить эту строку в начало вашего кода:

SETLOCAL ENABLEDELAYEDEXPANSION

Вы также должны изменить

echo %timestamp%

до

echo !timestamp!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...