目的
- バッチを外部から起動するアプリがある。
- バッチの指定がうまくいっているかどうかを手軽に確認したい。
- どこから呼び出したかわかるように、引数も設定したい。
- そこで、バッチが動いたかどうかが判断できる簡単なプログラムを作る。
バッチコード
@echo off rem rem 現在年月日時分秒を名前にした空ファイルを生成します。 rem rem このバッチが存在するフォルダをカレントに設定 pushd %0\.. cls rem YYYYMMDD 形式で年月日を取得 (月日の先頭が空白の場合は 0 で置換) set today=%date:/=% rem HHMMSS 形式で現在時刻を取得 (先頭が空白の場合は 0 で置換) set temp=%time: =0% set now=%temp:~0,2%%temp:~3,2%%temp:~6,2% rem 年月日時分秒に引数を付与した文字列を名前にした空ファイルを生成 type nul > %today%%now%%1% exit
確認
ファイルをそのまま実行編
エクスプローラーで TypeTodayNow.bat を実行いたします。
すると、バッチファイルのあるフォルダに 20151215193147 といった名前のファイルが生成されます。
ファイルの中身は、空です。
コマンドプロンプトで引数渡して実行編
TypeTodayNow.bat "てすと"
結果、バッチファイルのあるフォルダに、20151215193352てすと といった名前のファイルが生成されます。
そして、コマンドプロンプトが終了します。
ですので、コードの最後の exit は外せばコマンドプロンプトは終了しませんので、継続して作業したい場合は外したほうがよいかしら。
おまけ。バッチの基本
- コマンドプロンプトのコマンドをつなげてファイルにまとめるとバッチになる。
- Shift-JIS で記述すること。
- 完成したら、コマンドプロンプトからの実行や、エクスプローラーからダブルクリックなどで実行できる。
おわりに
はじめてのバッチ作成でしたの♪Unix のシェルのような感じかしらね。これも使いドコロを選びそうですけれども、上手に利用すればわたくしたちの生活を便利にしてくださいますわね♪
次のページが参考になりました!ありがとう存じます♪
- バッチファイル(コマンドライン)で日付・現在時刻を扱う(Windows) | NewEntryPoint
- コマンドプロンプトでファイルを新規作成 – 久保清隆のブログ
- 開発に役立つ,BATファイルの書き方・パターン集 (コマンドプロンプトの定石を体系的に学び,バッチ中級者になろう) – 主に言語とシステム開発に関して
日付の扱いというよりも、バッチファイルの雛形という点で役に立った。 - Tech TIPS:Windowsのバッチファイル中で日付をファイル名に使用する (1/2) – @IT
今までの参考ページで日付の扱いはわかっていたが、時分秒を2行に分けなければならない理由が解説されていてよかった。 - 【Windows】バッチファイルのコマンドライン引数 – Qiita
以上です。