「JP1のジョブネットやジョブのコメント、数が増えてくると画面(JP1/AJS3 – View)から1つずつ修正していくの、めちゃくちゃ面倒くさい……」
運用保守の現場で、こんな風に途方に暮れたことはありませんか?
「定義をエクスポート(ajsprint)して、テキスト置換して、再インポート(ajsdefine)しなきゃダメか……?」と思われがちですが、実はもっとスマートな方法があります。
今回は、JP1の標準コマンド「ajschange」を使い、「ジョブユニットパス,変更後コメント」のCSVリストを読み込ませて一括でコメントを書き換えるWindowsバッチファイル(.bat)の決定版を作成しました!
1. 結論:これ一発でOK!一括変更バッチファイル
そのままコピー&ペーストして使えるコードです。メモ帳などに貼り付け、文字コード「UTF-8(または環境に合わせてShift-JIS ※WindowsのVerによってbat、リストともにUTF8またはともにShift-JISにするなど調整してください。このスクリプトはAI生成であるため、UTF8にする必要があるようです。UTF8の場合、BOM対策が必要なので、リストの方の1行目にダミー行を入れてあります。)」、ファイル名 chg_jp1_comment.bat で保存してください。
DOS
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
:: 引数のチェック(リストファイルが指定されているか)
set "LIST_FILE=%~1"
if "%LIST_FILE%"=="" (
echo 【エラー】引数にリストファイル(CSV)を指定してください。
echo 使い方: %~nx0 [リストファイルパス]
exit /b 1
)
if not exist "%LIST_FILE%" (
echo 【エラー】指定されたファイルが見つかりません: %LIST_FILE%
exit /b 1
)
echo ===== JP1コメント一括変更処理 開始 =====
:: リストファイルを1行ずつ読み込んで処理(カンマ区切り)
for /f "usebackq tokens=1,2 delims=," %%a in ("%LIST_FILE%") do (
set "UNIT_PATH=%%a"
set "NEW_COMMENT=%%b"
echo --------------------------------------------------
echo [対象ユニット]: !UNIT_PATH!
echo [変更後コメント]: !NEW_COMMENT!
:: ajschange コマンドでコメントを直接変更
ajschange -C "!NEW_COMMENT!" "!UNIT_PATH!" >nul 2>&1
:: 実行結果の判定
if !errorlevel! equ 0 (
echo [結果] 成功: コメントを更新しました。
) else (
echo [結果] エラー: コメントの更新に失敗しました。パスや権限を確認してください。
)
)
echo ==================================================
echo ===== JP1コメント一括変更処理 終了 =====
endlocal
pause
2. 使い方(簡単2ステップ)
Step 1. 変更用のCSVリストを作る
メモ帳やExcelで、以下のように「ジョブユニットパス,変更後コメント」のリストを作成し、list.csv などの名前で保存します。
コード スニペット
# この行はBOM対策のダミー行です(消さないでください)
/GroupA/Jobnet1,"週次処理用のジョブネット"
/GroupA/Jobnet1/Job01,"マスタデータ解凍処理"
/GroupB/Jobnet2,"【2026年修正】本番用システム連携"
Step 2. コマンドプロンプトから実行する
作成したバッチファイルに、CSVファイルを引数として渡して実行するだけです。
DOS
chg_jp1_comment.bat list.csv
3. ここがポイント!なぜ ajschange -C なのか?
JP1の定義変更といえば ajsdefine -R(定義ファイルの上書きインポート)が有名ですが、コメント変更のためだけに使うのはリスクがあります。万が一スクリプトや定義ファイルが壊れていた場合、ジョブの実行ファイル名やスケジュールまで初期化されてしまう危険があるからです。
そこで輝くのが ajschange -C コマンドです。
-
他の定義を傷つけない安全設計 「コメントだけ」をピンポイントで上書きするコマンドなので、他の重要な設定を壊すリスクがゼロです。
-
一時ファイルを作らないので高速 ファイルのインポート/エクスポートが発生しないため、何十件、何百件というユニットがあっても一瞬で処理が完了します。
-
バッチの
FOR文との相性が抜群 前回も紹介したfor /f "tokens=1,2 delims=," %%aを使うことで、CSVから「ユニットパス(%%a)」と「コメント(%%b)」を自動で切り出し、そのままコマンドに引き渡しています。
⚠️ 運用上の注意点
-
コメントの文字数制限に注意 JP1の仕様上、コメントに指定できる長さには制限(最大80バイトなど。※環境やバージョンに依存)があります。長すぎる文章を設定しようとするとエラーになるため注意してください。
-
権限のエラー バッチを実行するユーザーに、対象ユニットの「更新権限」がない場合はエラーになります。必ず適切なJP1ユーザー権限で実行してください。
まとめ
手動でやると気が遠くなるJP1のコメント修正ですが、ajschange とWindowsバッチを組み合わせれば一瞬で自動化できます。
定修(定期メンテナンス)の時期や、システムの移行期などでジョブのコメントを綺麗に整理したい時にぜひ役立ててください!
