タスクリストを実行し、その出力を log.txt に追加するバッチ ファイルを作成します。

タスクリストを実行し、その出力を log.txt に追加するバッチ ファイルを作成します。

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

関連情報