サンプルジョブネット作成用
構造
AJSROOT1 (スケジューラーサービス)
└─ JG1 (ジョブグループ)
├─ Cal (ジョブグループ/カレンダー用)
│ └─ Cal1 ~ Cal4 (カレンダーユニット)
├─ JN1 (ジョブネット)
│ └─ PCジョブ (PCジョブ)
├─ JN2 (ジョブネット)
│ └─ PCジョブ (PCジョブ)
├─ JN3 (ジョブネット)
│ └─ PCジョブ (PCジョブ)
└─ JN4 (ジョブネット)
│ └─ PCジョブ (PCジョブ)
└─ defout (ジョブネット)
└─ PCジョブ (PCジョブ defout.bat)
defout.bat(JG1配下の定義出力用)
@echo off setlocal set DATE_STR=%date:/=%% set TIME_STR=%time: =0%% set TIME_STR=%TIME_STR::=%% set TIME_STR=%TIME_STR:.=%% set TIME_STR=%TIME_STR:~0,6%% set OUTPUT_FILE=C:\Users\Administrator\Documents\defout_%DATE_STR%_%TIME_STR%.txt ajsprint -F AJSROOT1 -a /JG1 > "%OUTPUT_FILE%" endlocal
取り込む時は以下を実行
ajsdefine -F AJSROOT1 -d / C:\Users\Administrator\Documents\defout_yyyymmdd_hhmmss.txt
定義の中身(初期状態)
unit=JG1,,jp1admin,;
{
ty=g;
el=Cal,g,+0+0;
el=JN1,n,+0+0;
el=JN2,n,+0+0;
el=JN3,n,+0+0;
el=JN4,n,+0+0;
el=defout,n,+0+0;
unit=Cal,,jp1admin,;
{
ty=g;
el=Cal1,g,+0+0;
el=Cal2,g,+0+0;
el=Cal3,g,+0+0;
el=Cal4,g,+0+0;
unit=Cal1,,jp1admin,;
{
ty=g;
}
unit=Cal2,,jp1admin,;
{
ty=g;
}
unit=Cal3,,jp1admin,;
{
ty=g;
}
unit=Cal4,,jp1admin,;
{
ty=g;
}
}
unit=JN1,,jp1admin,;
{
ty=n;
sz=10x8;
el=PCジョブ,pj,+240+144;
sd=1,en;
st=1,+00:00;
sh=1,ca;
shd=1,2;
unit=PCジョブ,,jp1admin,;
{
ty=pj;
tho=0;
}
}
unit=JN2,,jp1admin,;
{
ty=n;
sz=10x8;
el=PCジョブ,pj,+240+144;
sd=1,en;
st=1,+00:00;
sh=1,ca;
shd=1,2;
unit=PCジョブ,,jp1admin,;
{
ty=pj;
tho=0;
}
}
unit=JN3,,jp1admin,;
{
ty=n;
sz=10x8;
sd=1,en;
st=1,+00:00;
sh=1,ca;
shd=1,2;
}
unit=JN4,,jp1admin,;
{
ty=n;
sz=10x8;
sd=1,en;
st=1,+00:00;
sh=1,ca;
shd=1,2;
}
unit=defout,,jp1admin,;
{
ty=n;
sz=10x8;
el=PCジョブ,pj,+240+144;
sd=1,en;
st=1,+00:00;
sh=1,ca;
shd=1,2;
unit=PCジョブ,,jp1admin,;
{
ty=pj;
sc="defout.bat";
wkp="C:\Users\Administrator\Documents";
tho=0;
}
}
}
【参考】 実行した日から三日間を可動日登録するスクリプト
register_cal1.bat
@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

