2007/6/22 金曜日

曜日判断(コマンド)

カテゴリー: コマンド — mori @ 17:53:07

REM **********************************************
REM 曜日判断バッチ
REM **********************************************

REM ———-基本設定———-
set HomeDir=C:\bat_test\

REM ———-今日の曜日を取得———-
for /f “tokens=2″ %%p in (’date /t’) do set YOUBI=%%p

REM ———-曜日を判断し各処理へ———-
IF %YOUBI%==月 goto MON
IF %YOUBI%==火 goto TUE
IF %YOUBI%==水 goto WED
IF %YOUBI%==木 goto THU
IF %YOUBI%==金 goto FRI
IF %YOUBI%==土 goto SAT
IF %YOUBI%==日 goto SUN

REM ———-各曜日処理———-
:MON
echo “MON処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:TUE
echo “TUE処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:WED
echo “WED処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:THU
echo “THU処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:FRI
echo “FRI処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:SAT
echo “SAT処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log
goto THRU

:SUN
echo “SUN処理” > %HomeDir%youbi.log
echo %YOUBI% >> %HomeDir%youbi.log

:THRU
echo “終了” >> %HomeDir%youbi.log

EXIT

REM ********************ここまで******************

といった感じで作成してみました。いろいろ応用して使える。DAILYバッチ内に月曜だけ実行したい処理がある場合や、月水金のみ実行したいい場合などちょっと組替えればできる。

“tokens=1″ %%p in (’date /t’)・・・・・・・・・・・・・・・・・日付を取得
“tokens=2″ %%q in (’date /t’)・・・・・・・・・・・・・・・・・曜日を取得

2007/6/12 火曜日

月判断(コマンド)

カテゴリー: コマンド — mori @ 18:37:25

タスクで実行月の設定と実行曜日の設定は一緒にはできない(はず・・・)
なので○月から○月の間で毎週、月、水、金、土に実行する。といった処理が設定できない
そこでdailyで動かして実行したい月だけを判断することにした。
実行曜日はタスクで指定する。(例)毎週、月、火、水、木、金に実行
ただ年中動かすのはどうかと思うが・・・
応用すれば、一年の前期と後期の処理が違うときとかに使える。
(だったらバッチを2つにわければいいじゃんね^^;)
参考程度にどうぞ。。。

REM **********************************************
REM 実行月判断バッチ
REM **********************************************

REM ———-基本設定———-
set HomeDir = C:\bat_test\

REM ———-現在日付取得———-
for /f “tokens=1″ %%p in (’date /t’) do set NOWDATE=%%p
set NOWDATE=%NOWDATE:/=%

REM ———-月が二桁か判断———-
IF /I %NOWDATE:~4,1% EQU 0 (goto one)

REM ———-10-12月は実行———-
IF /I %NOWDATE:~4,2% GTR 9 (goto EXC)

:one
REM ———-2月から8月は実行しない———-
IF /I %NOWDATE:~5,1% LSS 2 (goto EXC) ELSE IF /I %NOWDATE:~5,1% GTR 8 (goto EXC)
echo “SQL実行しない” >> %HomeDir%log.txt
goto THRU
:EXC
echo “SQL実行する” >> %HomeDir%log.txt
:THRU
EXIT
REM ———-ここまで———-

SQL実行しない、するのところにSQLPLUSを記述すればよい。

ログファイル(windows)

カテゴリー: その他 — mori @ 18:36:54

タスクスケジュールが正常に動いたかどうかを見たいと思いタスクの画面上では状態をいう項目で「タスクの実行中」など表示されているのだが、何かログなど吐き出されてないかと思い調べてみると、

Cドライブの中にSchedLgU.Txtというファイル名でログが吐き出されている。

これを何とか有効に使いたい!定期的にこのファイル内にエラーがあったらメールが送信されてくるような。

次ページへ »

HTML convert time: 0.104 sec. Powered by WordPress ME