今回はバッチファイルの話です!
よくシステムの説明なんかで、夜間バッチが走るみたいな説明を受けた事ありませんか?
何となくイメージが付く方もいらっしゃると思いますが、何だかよくわからんって方も多いと聞きました。
そこで今回は【バッチを走らせる】とはどういう事かお話ししようと思います!
でも、こういうのって、文章でひたすら説明するよりも実際にやってみた方が解ると思います。
なので今回は、WindowsPCの方限定になってしまうのですが、このブログを読みながらバッチを設定して走らせてみましょう!
どんなときにバッチを走らせる?
まず、どんなとき「バッチを走らせる」という表現が出てくるのかお話します。
例えば、作業をしてなんかトラブル起こしたら利用者に影響がでますよね?
なので、システムは日中の業務時間中にできない事っていっぱいあるんです。
そのため業務時間中にできない事は、誰もシステムを使っていない深夜にやります。
でも深夜に夜勤者を雇ってやらせてたら、とてもコストがかかりますよね?
こんなとき自動化を検討する訳です!
要は【自動化するためのファイル】を作って、スケジュールした時間に実行する。これを・・
バッチを走らせるという意味なんです!
どんなファイルなのか?
このファイルには「どこの何を?どう操作するか?」がコマンドレベルで記述してあります。
これを【バッチファイル】なんて呼びます。
そしてこのバッチファイルを実行して動かす事を・・
走らせると言います!
では・・具体的にどんなファイルが一体どんな感じで動いているのでしょう?
この部分は正に【百聞は一見にしかず】だと思うので、このブログをみながら、実際にやってみましょう!
バッチを走らせてみよう!
まずは、ストーリーを考えます。今回説明させていただくテストのシナリオはシンプルにこんな感じです。
Cドライブにある【Work1】というフォルダの中にあるファイルを、Cドライブの【backup】というフォルダへ指定した時間になったら、自動でコピーする。
事前準備
① それでは早速準備から!まずCドライブの下に以下の名前で2つのフォルダを作りましょう。
【work1】【backup】
②そして作成したフォルダ【work1】に何でも良いので適当にファイルをぶっこんでください。
バッチファイルを作ってみましょう!
① まずメモ帳を開きます、 そしてメモ帳にこれをコピペして下さい。
copy /y c:\work1 c:\backup
②そしてこんな風に【batch.bat】ファイル名の後ろに「.bat」という拡張子を付けて【work1】のフォルダに名前を付けて保存して下さい。
③保存したファイルが、こんな感じで歯車の付いたアイコンに変わったら成功です。
④このファイルを試しにクリックしてみて下さい。正しくできていれば【backup】の中にファイルがコピーされる筈です。
後はこのファイルを何らかの方法で、スケジュールして自動実行すればよいだけ!
⑥次のテストに備えて【backup】のフォルダ内を空にしておきましょう!
一応このファイルについて解説
もっと詳しく知りたい方は、ここも読んで下さい!
どのOSも、大体こんな感じの【コマンド】が用意されています。
Windowsの場合はこれを【コマンドプロンプト】って呼びます。
このバッチファイルは数あるコマンドの一つである「Copy コマンド」を使っています。
※数あるコマンド一覧(外部リンク)
https://xtech.nikkei.com/it/article/COLUMN/20060221/230144/
ちなみに以下は、今回使うコピーコマンドを書く場合の定義はこれ!
copy [上書きの有無] [コピー元のフォルダパス] [コピー先のフォルダパス]
※パスはここをクリックすると、指定する表記が見れます 例 C:¥work1
PCで操作できる動作は、大体コマンドが用意されてるので、このコマンドを連続して実行する事で・・
自動化が実現できるんです!
タスクスケジューラへ登録しよう!
Windowsの機能に【タスクスケジューラー】という機能があります。
この機能は、設定した時間にバッチファイルを実行してくれちゃう便利機能!
WindowsのServerなどは、これを使って夜間バッチを走らせている場合があります。
ではやってみましょう!
タスクスケジューラーを開く
①【Windowsキー+R】を押して下さい。
②するとこんな画面が出てくると思うので、ここに【taskschd.msc】と入力します。
③そうするとタスクスケジューラーが起動します!
タスクスケジューラーを設定しよう!
①【タスクスケジューラライブラリ】を右クリック >【新しいフォルダ】を選択します。
②フォルダに適当な名前を付けましょう。
③作成したフォルダが左メニューに表示されたら、そこから更に【右クリック】 > 【タスクの作成】を選択します。
④タスクの作成画面を赤枠の様に設定します。(名前はお任せします)
⑤全般のタブを設定したら【トリガータブ】>【新規】を選択します。
⑥ここで【いつ実行するか?】スケジュールを指定します。いったん30分後にして後でみるとかでも良いかもしれません。
設定したら【OK】を押して下さい!
⑦次は【操作タブ】 > 【新規】を選択します。
⑧ここで作成したバッチファイルを参照して選択します。指定をしたら【OK】を押しましょう。
⑨OKを押すとユーザー認証がでると思いますので、これが出たら、ログインするときと、同じユーザー名とパスワードを入力して下さい
⑨設定がされると、このようにスケジューラーが設定されます。
⑩後は【Backup】フォルダを設定した時間に確認いただいて、ファイルが作成されていれば成功です!
最後に
どうですか?うまくいきました?もしうまくできなかったとしても、やってるみるだけで大分違うと思います。
システムの話をするときに、大事なコミュニケーションは【概念】の理解なんです。
概念を理解する為には、頭の中で具体的な絵を書けないといけません。
絵を書くには、ある程度プロダクトを触ってないと正しくコミュニケーションが取れません。
回答に自信がないとつい【情報の横流し】をしてしまいがちになるんです・・。
これが原因で「コイツ自社の製品なのに解ってねーんだな」って思われ、信頼を失う事につながるかもしれません。
もし、IT営業の様な非エンジニアの方で、お客様とシステム関連のコミュニケーションでお悩みの方!
こんな方は、検証環境を技術の人に頼んで貸してもらい、出来るだけプロダクトを触って、壊すくらいの勢いで遊んでみてください。
深く覚えなくても良いんです。とにかく大事なのは実際に触る事なんです!
興味がないとそもそもやる気にはなれないと思います。でも、やってみたら「こんな簡単な話だったの?」って思うかもですよ。
まさに「百聞は一見に如かず」とはこの事!
今回のお話をもっと学びたい人へ!
もし今回のテーマを本格的に学んでみたいと思ったら、この本がおススメです!