バッチを汎用利用して運用を効率化する
概要
Windowsのタスクスケジューラーでタスク設定する際、パラメータをオプション設定してバッチを汎用的に利用する方法を紹介します。
こんな時にオススメ
- アウトプットを分けたい
- ログもそれぞれで出力したい
- でも処理がほとんど同じ(バッチを分ける程でもない)
⇒できれば1コのバッチで運用していきたい!
実装サンプル
(前提)
実行されるコマンドのイメージ
Cscript Sample.wsf /param:1
(パラメータ取得)
Sample.wsf
Public Function SetParameter(ByRef parameter)
If WScript.Arguments.Named.Exists("param") Then
parameter = WScript.Arguments.Named("param")
Else
WScript.Echo "パラメータなし"
WScript.Quit
End If
End Function
(個別ログ出力)
- バッチ名にパラメータを付けることで個別に作成できます
Sample.wsf
Public Function SetLogFileName(ByVal parameter)
SetLogFileName = "log_" & WScript.ScriptName & "_" & parameter & ".txt"
End Function
オプション設定方法
-
「タスクの設定」⇒「操作タブ」⇒「新規」を選択してで各設定値を入力します(その他の設定は適宜行ってください)
実行されるコマンドのイメージ
Cscript Sample.wsf /param:1
Sample.wsf
Public Function SetParameter(ByRef parameter)
If WScript.Arguments.Named.Exists("param") Then
parameter = WScript.Arguments.Named("param")
Else
WScript.Echo "パラメータなし"
WScript.Quit
End If
End Function
Sample.wsf
Public Function SetLogFileName(ByVal parameter)
SetLogFileName = "log_" & WScript.ScriptName & "_" & parameter & ".txt"
End Function
- 「タスクの設定」⇒「操作タブ」⇒「新規」を選択してで各設定値を入力します(その他の設定は適宜行ってください)
入力欄 | 設定サンプル | 備考 |
---|---|---|
プログラム/スクリプト | Cscript | |
引数の追加(オプション) | Sample.wsf /param:{値} | ・「param」の部分(パラメータ名)は任意です |
開始(オプション) | C:\Test\ | ・バッチファイルの配置ディレクトリを指定します |
最後に
同じような事をやろうとしている方の参考になれば幸いです。
Author And Source
この問題について(バッチを汎用利用して運用を効率化する), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshiki-kamikawa/items/2c4c669a939dda21168a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .