@echo off
setlocal
set AJS_ROOT=AJSROOT1
set TARGET_CAL=%AJS_ROOT%:/JG1/Cal/Cal1
:: PowerShellで当日から3日間の日付を個別に取得し、ajscalendarをループで実行する
for /f "tokens=*" %%i in ('powershell -Command "$d=[DateTime]::Today; for($j=0;$j -lt 3;$j++){ $d.AddDays($j).ToString('yyyy/MM/dd') }"') do (
echo 稼働日 %%i を登録中...
ajscalendar -op %%i %TARGET_CAL%
)
echo すべての処理が完了しました。
endlocal
register_cal1.bat は、今日から3日分の日付を Cal1 カレンダーへ登録するバッチ
処理内容:
AJS_ROOTにAJSROOT1を設定- 登録先を次のように設定
AJSROOT1:/JG1/Cal/Cal1- PowerShellで以下の3日分を生成
- 今日
- 明日
- 明後日
形式は yyyy/MM/dd(例:2026/08/10)。
- 日付ごとに次のコマンドを実行
ajscalendar -op YYYY/MM/DD AJSROOT1:/JG1/Cal/Cal1- 最後に完了メッセージを表示
注意点は以下のとおり。
AJSROOT1は固定値なので、環境が違う場合は変更が必要ajscalendarがPATHに登録されていないと実行できない- 登録期間は常に3日間で、変更するには
$j -lt 3の数字を変更する - コマンドが失敗してもエラーチェックせず、最後に「完了」と表示される
- 日付はバッチを実行するWindows環境のローカル日付を基準にする
-opの正確な意味や登録動作は、使用しているAJSのバージョン・運用仕様に依存する

