26
Windows バッチファイル入門 - 知識ゼロから中級レベルを目指す - 井手喜彦 著 知識がなくても大丈夫、パソコンの設定方 法から丁寧に解説 実際に作りながら覚える実践方式だから、 作ったプログラムはそのまま使える 読み終わったときにはとっくに初心者卒 業、バッチファイルの中級者に

Windows バッチファイル入門 - 知識ゼロから中級レベルを目指す · 2017. 6. 17. · Windows バッチファイル入門 - 知識ゼロから中級レベルを目指す

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

  • Windows バッチファイル入門- 知識ゼロから中級レベルを目指す -

    井手喜彦 著

    知識がなくても大丈夫、パソコンの設定方法から丁寧に解説

    実際に作りながら覚える実践方式だから、作ったプログラムはそのまま使える

    読み終わったときにはとっくに初心者卒業、バッチファイルの中級者に

  • 1

    目次目次

    第1章バッチを使う環境を整える Page 5

    はじめに 5

    バッチファイルを使うメリット 6

    バッチの魅力 7

    使ってみる 8

    バッチを使いやすい環境を整える 11

    バッチファイルを作る 14

    作成したバッチを実行する 17

    第 1章のまとめ 18

    第2章ファイル比較バッチの作成(前編) Page 19

    第 2章の内容 19

    ファイル比較バッチファイルを作成 20

    バッチファイルの実行と結果の確認 22

    バッチコマンドのオプション 24

    第 2章のまとめ 25

    第3章ファイル比較バッチの作成(後編) Page 26

    第 3章の内容 26

    プレースホルダーを使おう 27

    結果をファイルに出力 29

    別の便利な実行方法 30

    第 3章のまとめ 31

  • 2第4章特定のファイルをコピーして集める Page 32

    第 4章の内容 32

    「copy」コマンドを使ったバッチファイル 33

    拡張子が「.txt」のファイルだけをコピーする 35

    第 4章のまとめ 37

    第5章変数と簡単な演算 Page 38

    第 5章の内容 38

    変数の使い方 39

    変数の中身の変更と合成 40

    「変数」はどんなときに使うのか 42

    簡単な演算 45

    第 5章のまとめ 48

    第6章ファイル名に日付を加える Page 49

    第 6章の内容 49

    現在の日時を取得する 50

    文字列から欲しい部分を切り取る 51

    ファイル名で使用する日付を作る 52

    ファイル名の頭に日付を加えるバッチファイル 54

    第 6章のまとめ 55

    第7章ユーザが処理を選べるようにする Page 56

    第 7章の内容 56

    「if」文を使ってみる 57

    「else」で処理を分岐させる 58

    ユーザーの入力情報を受け取る 60

    入力を判断して処理を分岐させる 61

    第 7章のまとめ 64

  • 3第8章ファイル名に日付を加える(改良編) Page 65

    第 8章の内容 65

    指定した回数だけループ処理をする 66

    ファイルに日付を加えるファイルを改良する 68

    フォルダを対象とした処理 71

    第 8章のまとめ 74

    第9章ファイル内の文字列を置換 Page 75

    第 9章の内容 75

    ファイル内の文字列の表示 76

    ファイル内の文字列の置換 80

    第 9章のまとめ 84

    第10章ラベルでプログラムをまとめる Page 85

    第 10章の内容 85

    ラベルを使って実行する行を移動する 86

    ラベルを使って実行する行を移動する 87

    ラベルと if文の併用 88

    第 10章のまとめ 90

    第11章ファイル名を一括変換する Page 91

    第 11章の内容 91

    拡張子だけを一括変換する 92

    共通しているファイル名部分を一括して変換する 94

    第 11章のまとめ 97

    第12章コメントアウトを使ってメモを取る Page 98

    第 12章の内容 98

    コメントアウトを使ってメモを取る 99

  • 4

    コメントアウトを使う別の例 101

    第 12章のまとめ 102

    第13章バッチファイル内でバッチファイルを呼び出す Page 103

    第 13章の内容 103

    「start」コマンドを使う 104

    「call」コマンドを使う 107

    引数を渡す 108

    第 13章のまとめ 110

    最後に 111

  • 5

    第1章バッチを使う環境を整える

     はじめに

    本書では、「windowsバッチの存在は知っているが使ったことがない」、または「使っ

    たことはあるが基本的なコマンドだけ」といった初心者の方を対象に、windowsバッ

    チファイルの使い方を丁寧に解説していきます。

    ある程度のレベルまで理解できるようになれば、その後は自分に必要なプログラム

    を作っていく中で自然と必要な知識が身についていくようになります。しかし何も知

    らない始学者・初心者がwindowsバッチの学習を始めるときには、「何から学べばよ

    いのか」、「そもそも windowsバッチで何ができるのか」など困惑するでしょう。

    ここでは、windowsバッチで何ができるのかを知り、実際にバッチプログラムを

    作りながら学んでいきます。「習うより、慣れろ」がコンセプトです。本書を読み終

    わったときには、初心者を脱し中級者レベルになることを目的としています。

    babababababababababababababababab

    対象者

    全くバッチを使ったことがない方

    バッチ初心者

    学習方法

    実際に、よく使用するコマンドでプログラムを作りながら学ぶ

    コンセプトと目標

    習うより、慣れろ

    目指すは中級者!

  • 6 第 1章 バッチを使う環境を整える

     バッチファイルを使うメリット

    バッチを使うメリットは何か?それは、作業を自動化することで、作業効率が格段

    に上がったり、ミスが減ったり、自分がいない時でも勝手に仕事をやってくれたりす

    ることです。

    ワンクリックで、あるフォルダから名前の一部に「2016」と付いているファイルだ

    けを見つけて集めてきたり、あるフォルダ内のすべてのファイル名の一部を一括して

    置換したりすることが可能になります。

    また、パソコンを使わない帰宅後の職場で、夜中に勝手にバックアップをとってく

    れるようにすることもできます。使い方次第でこの他にも様々な機能を実現できます。

    babababababababababababababababab

    【バッチを使うメリット】

    その1

    作業効率が格段にアップ

    その2

    ミスが減る

    その3

    自分がいない時でも仕事を勝手にやってくれる

  • 7

     バッチの魅力

    バッチの最大の長所は「簡単」であるということです。コマンドも簡単です。そして、

    なによりバッチを使い始めるまでがもの凄く簡単です。なぜなら、windowsに最初

    から入っているものなので、インストールの必要が全くないからです。

    windowsのパソコンを持っているということは、バッチをすぐにでも使える状態で

    あるということです。インストールに時間をとられて、まったくプログラムを書くと

    ころまでいかない、という他のプログラムにありがちな問題がまったくありません。

    このような利点は他にはないでしょう。

    babababababababababababababababab

    【バッチの魅力】

    その1

    プログラムが簡単

    その2

    使うまでがすごく簡単

    • インストールしなくてよい

    • windowsなら既に使える環境にある

  • 8 第 1章 バッチを使う環境を整える

     使ってみる

    では、windowsバッチを早速使ってみましょう。Windows7の方は、「スタートボタ

    ン」を押して、「すべてのプログラム」から「アクセサリ」の中の「コマンドプロン

    プト」をクリックして下さい。

    Windows10の方は、「スタートボタン」の右側にある、「何でも聞いてください」

    という入力欄に「コマンドプロンプト」と打ち込んで、コマンドプロンプトを選択

    して下さい。

  • 9

    すると以下のような黒い画面が現れたと思います。これを「コマンドプロンプト画

    面」と呼び、ここにコマンドを打ってコンピュータに指示を与えます。

  • 10 第 1章 バッチを使う環境を整える

    実際に、

    echo HELLO WORLD!

    と打って「Enter」を押して下さい。「HELLO WORLD!」と表示されたと思いま

    す。「echo」というコマンドは「右側に打った文字を出力する」というコマンドでし

    た。正常に表示できた方はバッチファイルを使える環境が既にあるということです。

    windowsユーザーであれば、必ずできるはずです。

    コマンドプロンプトを閉じるには、

    exit

    とタイプします。

  • 11

     バッチを使いやすい環境を整える

    まずはバッチファイルを使いやすいようにパソコンの環境を整えていきましょう。

    Windows7の方は、もう一度「スタートボタン」を押して、「すべてのプログラム」

    から「アクセサリ」にいきます。Windows10の方は、「スタートボタン」の右側にあ

    る、「何でも聞いてください」という入力欄に「コマンドプロンプト」と打ち込んで

    下さい。ここで、今度は「コマンドプロンプト」を右クリックして「コピー」を選び

    ます。そして、デスクトップ上で「右クリック」から「貼り付け」をします。

    以下のようなコマンドプロンプトのショートカットアイコンがデスクトップにでき

    たと思います。

    続いて、「バッチ練習」というフォルダをデスクトップに作りましょう。そのフォ

    ルダの中に、「第 1章」というフォルダをさらに作ります。フォルダ「第 1章」に入

    り、「右クリック」から「新規作成」→「テキストドキュメント」を選択します。す

    ると、「新しいテキストドキュメント」というファイルができたと思います。

  • 12 第 1章 バッチを使う環境を整える

    ここで、ファイルの拡張子を表示する設定に変更します。左上にある、「整理」か

    ら「フォルダーと検索オプション」を選択します。「表示」タブにし、「詳細設定」の

    「登録されている拡張子は表示しない」のチェックを外して下さい。

    最後に「適用」ボタンを押してから「OK」ボタンを押して終了です。するとファ

    イルの表示が「新しいテキスト ドキュメント.txt」ように変わったと思います。(※

    ここで説明した拡張子の表示方法は windows 7のものですので、他のバージョンを

    使用している方は少し設定の方法が異なるかもしれませんので、別途お調べ下さい。)

    この「.txt」の部分を拡張子と言いファイルの種類を表すものです。

    ここまでの操作で、以下のような画面になっていれば正しく設定できています。

  • 13

  • 14 第 1章 バッチを使う環境を整える

     バッチファイルを作る

    それではこのファイルをバッチファイルに変えていきましょう。ファイルを「右クリッ

    ク」し「名前の変更」を選んで「test.bat」という名前に変えて下さい。警告がでると

    思いますが、「はい」を押して許可します。これでバッチファイルになりました。拡張

    子「.bat」がこのファイルがwindowsのバッチファイルであることを表しています。

    続いて、ファイルの中身を編集していきます。「右クリック」から「編集」をクリッ

    クします。ここで、注意するのはファイルをダブルクリックしてはいけないというこ

    とです。通常のファイルであれば、ファイルを開くときダブルクリックで開く場合も

    あると思いますが、バッチファイルの場合はダブルクリックはファイルの実行を意味

    しますのでファイルは開きません。必ず、「右クリック」から「編集」を選んで下さい。

    メモ帳が立ち上がったと思います。ここに、

    1 echo これは testです。

    と打ったら、「ファイル」から「上書き保存」して下さい。

    続いて、実行するためのコマンドプロンプトをこのフォルダに準備します。コマン

    ドプロンプトのアイコンは既にデスクトップにあると思いますので、それをコピーし

    て「第 1章」の下に貼り付けます。

  • 15

    ここで、一工夫。コマンドプロンプトを右クリックして「プロパティ」を選択して

    下さい。「Command Promptのプロパティ」が開いたと思います。「ショートカット」

    タブの「作業フォルダ」の欄を空にします。こうすることで、コマンドプロンプトが

    置いてある場所でコマンドプロンプトを開けるようになります。(※ここは意味不明

    でも大丈夫です。気にせず進みましょう。)

  • 16 第 1章 バッチを使う環境を整える

    「適用」して「OK」を押します。

  • 17

     作成したバッチを実行する

    作ったバッチを実行しましょう。「第 1章」フォルダの中のコマンドプロンプトをダ

    ブルクリックして開きます。以下のコマンドを打って「Enter」を押して下さい。

    test.bat

    「これは testです。」とコマンドプロンプトに表示されれば成功です。

    これが、windowsバッチファイル作成し、実行するまでの一連の基本動作になり

    ます。

  • 18 第 1章 バッチを使う環境を整える

     第 1章のまとめ

    第 1章はバッチファイルを使う環境を整え、バッチファイルの作成からコマンドの実

    行方法までの一連の操作を学びました。

    babababababababababababababababab

    【第1章のまとめ】

    その1

    バッチファイルの使用環境を整えた

    その2

    バッチファイル作成からコマンドの実行まで、一連の流れを学んだ

    次章ではバッチファイルで二つのファイルを比較するプログラムを作りながら、コ

    マンドとオプションについて学びます。

  • 19

    第2章ファイル比較バッチの作成(前編)

     第 2章の内容

    前章ではバッチファイルを使用するために、パソコンの環境を整えました。ここから

    は実際に役に立つバッチファイルを作成していきます。今回は 2つのファイルを比較

    して相違点があれば、その結果をファイルに書き出すバッチファイルを作っていきま

    す。2つのファイルを比較したいが、人間の目で確認するにはボリュームがあり過ぎ

    るときに使用すると便利です。では、はじめましょう。

  • 20 第 2章 ファイル比較バッチの作成(前編)

     ファイル比較バッチファイルを作成

    前回作った「第 1章」フォルダと同じ場所(バッチ練習)に「第 2章」というフォル

    ダを作りましょう。その中に入り、「右クリック」から「新規作成」の「テキストド

    キュメント」を選択し、空のファイルを作ります。名前を「file compare.bat」に変

    更して下さい。

    拡張子(ここでは「.bat」の部分)は表示される設定になってますか?設定がまだ

    の人は「第 1章バッチを使う環境を整える」をご覧下さい。

    次に、「file compare.bat」を「右クリック」の「編集」で開きます。メモ帳が立ち

    上がったと思いますので、そこに以下のコマンドを書き込みます。

    1 fc file1.txt file2.txt

    「fc」というコマンドを使って「file1.txt」と「file2.txt」の内容を比較しています。

    これでバッチファイルは完成です。

  • 21

    次に、比較する 2つのファイル(「file1.txt」と「file2.txt」)を準備しましょう。

    「file compare.bat」と同じ場所に新しいファイルを作ります。名前は file1.txtにして

    下さい。この中に、

    1 わたしはコーヒーが好きだ。

    2

    3 しかし、ケーキは嫌いだ。

    と書き込んだら、保存して閉じます。同様に file2.txtも作り、

    1 わたしはコーヒーが好きだ。

    2

    3 しかし、プリンは嫌いだ。

    と書き込んで保存します。

    以上で準備完了です。

  • 22 第 2章 ファイル比較バッチの作成(前編)

     バッチファイルの実行と結果の確認

    さあ、実行してみましょう。前章で使った「第 1章」のフォルダに入っているコマン

    ドプロンプトを、今回作った「第 2章」のフォルダの下にコピーして開きます。

    そこに、

    file_compare.bat

    と書き込み、「Enter」を押します。すると以下のように表示されるはずです。

    比較したファイル内の「しかし、ケーキは嫌いだ」および「しかし、プリンは嫌い

    だ」が表示されています。これは「この行に二つのファイル間で違いがあります」と

  • 23

    いうことを伝えています。「わたしはコーヒーが好きだ。」の部分は 2つのファイル間

    で一致しているので、出力されません。

  • 24 第 2章 ファイル比較バッチの作成(前編)

     バッチコマンドのオプション

    さらに、プログラムを改良していきます。この例のように、数行のファイル同士を比

    較する場合では、一目でファイル内容全体を見ることが出来ます。しかし、膨大な行

    に渡って文章が記述してあるファイルを扱う場合、ファイル間の違いが何行目にある

    のかを知れたほうが便利です。そんなときは、「fc」コマンドにオプション「/n」を

    付けましょう。「file compare.bat」の中を以下のように変更して下さい。

    1 fc /n file1.txt file2.txt

    実行してみると、以下のように表示が変わったと思います。

    各行の左に行番号が表示されるようになりました。これで、大きなファイルを比較

    する場合でも、その違いがどの行にあるか一目で分かるようになります。

    バッチファイルで使用するほとんどのコマンドには、オプションがあります。オプ

    ションはこのようにコマンドに続いてスペースを挟んで「/?」と記述します。「fc」コ

    マンドのオプションは「/n」この他にも色々あるので、興味のある方は調べてみてく

    ださい。

  • 25

     第 2章のまとめ

    本章では、「fc」コマンドを使って二つのファイルを比較できること、およびコマン

    ドにはオプションがあることを学びました。

    babababababababababababababababab

    【第2章のまとめ】

    その1

    「fc」コマンドは二つのファイルを比較するコマンド

    その2

    コマンドはオプションを加えることで、細かい変更が可能

    今回でファイル比較のバッチファイルは一応完成しましたが、このままではまだ不

    便です。例えば、別の二つのファイルを変更したい場合に何度もバッチファイルを開

    き、「file1.txt」と「file2.txt」を書き換えなければいけません。

    そこで、次章ではこのファイル比較バッチをもっと便利にするために改良を加えて

    いきます。