| 登録日 |
:2024/01/19 06:35 |
| カテゴリ |
:Windowsバッチ |
Windowsバッチにて、以下の処理を行う
- テキストファイルを1行ずつ読み込む
- 読み込んだ文字列を、if文で条件比較して、Trueならば、ある別の処理を実行する
- テキストファイルの読み込みは、1行ずつループで終端まで実行する。
- 条件分岐して、それぞれ別のバッチ処理を実行する。
- Windowsのタスクスケジューラで実行する
ファイルの読み込み部
@echo off
setlocal enabledelayedexpansion
set "inputFile=path\to\your\file.txt"
for /f "tokens=* delims=" %%a in (%inputFile%) do (
set "line=%%a"
if !line! == "your_condition" (
rem Trueの場合の処理をここに追加
echo !line! is True
) else (
rem Trueでない場合の処理をここに追加
echo !line! is False
)
)
endlocal
別のバッチ処理を読み込むには、callを使う
@echo off
rem 何か処理
rem 別のバッチスクリプトの呼び出し(絶対パスを使用)
call C:\Path\To\Your\Script.bat
rem 何か処理
exit /b
ログをテキストに出力する
@echo off
rem 何か処理
rem 出力したい文字列
set "logMessage=実行が正常に終了しました。"
rem ログファイルへのパス
set "logFile=C:\Path\To\Your\Log\logfile.txt"
rem テキストファイルに文字列を追記
echo %logMessage% >> %logFile%
rem 何か処理
exit /b
プログラム実行時の日時を取得する
@echo off
setlocal enabledelayedexpansion
rem 実行時の日付を取得(ロケールに依存する可能性がある)
set "currentDate=%DATE%"
rem 日付のフォーマットを変更
for /f "tokens=2-4 delims=/ " %%a in ("!currentDate!") do (
set "formattedDate=%%c-%%a-%%b"
)
echo 現在の日付: !formattedDate!
endlocal