tasklist를 실행하고 해당 출력을 log.txt에 추가하는 배치 파일을 만듭니다.

tasklist를 실행하고 해당 출력을 log.txt에 추가하는 배치 파일을 만듭니다.

3분마다 tasklist를 실행하고 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

관련 정보