Создайте пакетный файл для выполнения tasklist и добавьте его вывод в log.txt

Создайте пакетный файл для выполнения tasklist и добавьте его вывод в log.txt

Я пытаюсь создать пакетный файл для выполнения tasklist каждые 3 минуты и записать его в log.txt. Я новичок в пакетных файлах и хотел бы узнать, где я допустил ошибку в своем пакетном файле.

@echo off
set "CURRENT_DIR=C:\Documents and Settings\Administrator\My Documents\Downloads\"

:checkLog
if exist "%CURRENT_DIR%\log.txt" goto writeLog
echo Log file exists. Appending data.
if not goto createLog

:createLog
echo Creating log.txt
echo   >"%CURRENT_DIR%\log.txt"

:writeLog
tasklist >> "%CURRENT_DIR%\log.txt"
goto loop

:loop
sleep 3 
goto writeLog

решение1

Я думаю, что эта строка незакончена:

if not goto createLog

Я немного упростил его и использовал timeoutвместо sleep:

@echo off
set "CURRENT_DIR=C:\Documents and Settings\Administrator\My Documents\Downloads\"

if not exist "%CURRENT_DIR%\log.txt" (
echo Creating log.txt
echo   >"%CURRENT_DIR%\log.txt"
) else (
echo Log file exists. Appending data.
)

:writeLog
tasklist >> "%CURRENT_DIR%\log.txt"
timeout /t 3 > nul
goto writeLog

Связанный контент