Как: читать из списка в пакетном режиме, выводить содержимое в файл журнала - PullRequest
0 голосов
/ 03 ноября 2011

Мне сложно вспомнить, как читать строки текстового файла и выполнять какие-то задачи.Например, я пытаюсь прочитать содержимое текстового файла (набор имен хостов), а затем выполнить TASKLIST на этих хостах, чтобы увидеть, запущен ли процесс.кажется, работает, и я не могу понять, что я делаю неправильно.В журнале просто отображается «% a» для вывода.Я делал такие вещи все время, много лет назад.Я думаю, «не используйте это, вы потеряете это» - это порядок дня.Похоже, что где-то нужно установить другую переменную, но я не помню где.

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

Я думаю, вы можете попробовать это:

@echo off

set MachineList=computers.log

FOR /f "delims= " %%a in (%MachineList%) DO CALL :GETINFO

:GETINFO
echo %%a >>results.log
tasklist /s \\%%a | findstr /i iexplore.exe >>results.log
1 голос
/ 04 ноября 2011

У вас есть пара небольших ошибок. Опция "delims =" не должна иметь конечного пробела. Заменяемый параметр %% a должен использоваться в той же строке команды FOR; если он используется в другой строке, он должен быть разделен скобками, начинающимися в команде FOR, но в вашем случае это не обязательно, поскольку вы хотите выполнить только одну команду в FOR. Команда TASKLIST должна выполняться с каждой строкой текстового файла. Наконец, команда FINDSTR проверяет эти результаты для iexplore.exe.

@echo off
set MachineList=computers.log
FOR /f "delims=" %%a in (%MachineList%) DO tasklist /s \\%%a >>results.log
findstr /i iexplore.exe results.log
...