Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【JP1/AJS】AJSROOT1環境のジョブグループ JG1 にある Cal1 へ、当日から3日間の日付を登録する処理

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
@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 カレンダーへ登録するバッチ

処理内容:

  1. AJS_ROOT に AJSROOT1 を設定
  2. 登録先を次のように設定
AJSROOT1:/JG1/Cal/Cal1
  1. PowerShellで以下の3日分を生成
  2. 今日
  3. 明日
  4. 明後日

形式は yyyy/MM/dd(例:2026/08/10)。

  1. 日付ごとに次のコマンドを実行
ajscalendar -op YYYY/MM/DD AJSROOT1:/JG1/Cal/Cal1
  1. 最後に完了メッセージを表示

 

注意点は以下のとおり。

  • AJSROOT1 は固定値なので、環境が違う場合は変更が必要
  • ajscalendar がPATHに登録されていないと実行できない
  • 登録期間は常に3日間で、変更するには $j -lt 3 の数字を変更する
  • コマンドが失敗してもエラーチェックせず、最後に「完了」と表示される
  • 日付はバッチを実行するWindows環境のローカル日付を基準にする
  • -op の正確な意味や登録動作は、使用しているAJSのバージョン・運用仕様に依存する
タイトルとURLをコピーしました