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

知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

  • Upload
    others

  • View
    3

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

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

井手喜彦 著

いまは知識ゼロでも大丈夫、パソコンの設定方法から丁寧に解説

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

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

Page 2: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

1

目次目次

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

はじめに 5

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

Windowsバッチファイルの魅力 7

使ってみる 8

バッチファイルを使いやすい環境にする 11

バッチファイルを作る 15

作成したバッチファイルを実行する 18

第 1章のまとめ 19

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

第 2章の内容 20

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

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

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

第 2章のまとめ 25

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

第 3章の内容 26

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

結果をファイルに出力 29

別の便利な実行方法 30

第 3章のまとめ 32

Page 3: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

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

第 4章の内容 33

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

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

第 4章のまとめ 38

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

第 5章の内容 39

変数の使い方 40

変数の中身の変更と結合 41

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

簡単な演算 46

第 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

Page 4: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

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文の併用 89

第 10章のまとめ 92

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

第 11章の内容 93

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

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

第 11章のまとめ 100

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

第 12章の内容 101

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

Page 5: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

4

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

第 12章のまとめ 105

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

第 13章の内容 106

「start」コマンドを使う 107

「call」コマンドを使う 110

引数を渡す 111

第 13章のまとめ 112

第14章付録 Page 113

コマンドプロンプトを起動 (Windows 7) 113

バッチファイルを使用する環境を整える (Windows 7) 114

拡張子を表示させる (Windows 7) 115

文字化けへの対処 116

最後に 117

Page 6: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

5

第1章バッチファイルを使う環境を整える

 はじめに

本書では、「Windowsバッチファイルの存在は知っているが使ったことがない」、

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

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

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

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

らない始学者・初心者がWindowsバッチファイルの学習を始めるときには、「何か

ら学べばよいのか」、「そもそもWindowsバッチファイルで何ができるのか」など困

惑するでしょう。

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

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

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

babababababababababababababababab

対象者

全くバッチファイルを使ったことがない方

バッチファイル初心者

学習方法

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

コンセプトと目標

習うより、慣れろ

目指すは中級者!

Page 7: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

6 第 1章 バッチファイルを使う環境を整える

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

Windowsバッチファイルを使うメリットは何か?それは、作業を自動化すること

で、作業効率が格段に上がったり、ミスが減ったり、自分がいない時でも勝手に仕事

をやってくれたりすることです。

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

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

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

また、パソコンを使わない帰宅後の職場で、夜中に完全自動でバックアップをとっ

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

ます。

babababababababababababababababab

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

その1

作業効率が格段にアップする

その2

ミスが減る

その3

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

Page 8: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

7

 Windowsバッチファイルの魅力

バッチファイルの最大の長所は「簡単」であるということです。コマンドも簡単で

す。そして、なによりバッチファイルを使い始めるまでがもの凄く簡単です。なぜな

ら、バッチファイルはWindowsに最初から入っているものなので、インストールの

必要が全くないからです。

Windowsのパソコンを持っているということは、バッチファイルをすぐにでも使

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

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

りません。このような利点は他にはないでしょう。

babababababababababababababababab

【Windowsバッチファイルの魅力】

その1

プログラムのコマンドが簡単

その2

使うまでがすごく簡単

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

• Windows OSなら誰でも既に使える環境にある

Page 9: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

8 第 1章 バッチファイルを使う環境を整える

 使ってみる

では、早速バッチファイルを使ってみましょう。Windows 10の方は、「スタート

ボタン」の右側にある、「ここに入力して検索」という入力欄に「コマンドプロンプ

ト」と打ち込んで、コマンドプロンプトを選択して下さい。※Windows 7を使って

いる方は、付録「コマンドプロンプトを起動 (Windows 7の場合)」を参照してくだ

さい。

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

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

Page 10: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

9

ここに、

echo HELLO WORLD!

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

ます。

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

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

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

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

Page 11: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

10 第 1章 バッチファイルを使う環境を整える

exit

とタイプします。

Page 12: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

11

 バッチファイルを使いやすい環境にする

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

Windows 10の場合を例に説明していきます(※Windows 7を使っている方は、付

録「バッチファイルを使用する環境を整える (Windows 7)」を参照してください)。

「スタートボタン」の右側にある、「ここに入力して検索」という入力欄に「コマンド

プロンプト」と打ち込んで下さい。ここで、今度は「コマンドプロンプト」を右ク

リックして「ファイルの場所を開く」を選びます(以下の図を参照)。

すると、コマンドプロンプトのアイコンがあるフォルダが開きます(以下の図)。

コマンドプロンプトのアイコンを右クリックして、「コピー」を選びます。

Page 13: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

12 第 1章 バッチファイルを使う環境を整える

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

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

たと思います。

Page 14: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

13

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

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

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

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

ここで、ファイルの拡張子を表示する設定に変更します。下の図のように、「表示」

タブをクリックしてください。そして、「ファイル名拡張子」の項目にチェックを入れ

ます。※Windows 7を使っている方は、付録「拡張子を表示させる (Windows 7)」

を参照してください。

Page 15: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

14 第 1章 バッチファイルを使う環境を整える

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

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

のファイルがテキストファイルというものであることを表しています。

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

クしてみましょう。

Page 16: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

15

 バッチファイルを作る

それでは「新しいテキストドキュメント.txt」ファイルをバッチファイルに変えて

いきましょう。ファイルを「右クリック」し「名前の変更」を選んで「test.bat」と

いう名前に変えて下さい。拡張子を変更していいかという警告が出ると思いますが、

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

このファイルがWindowsのバッチファイルであることを表しています。

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

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

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

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

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

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

1 echo これは testです。

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

Page 17: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

16 第 1章 バッチファイルを使う環境を整える

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

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

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

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

選択して下さい。「Command Promptのプロパティ」が開いたと思います。「ショー

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

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

は意味不明でも大丈夫です。気にせず進みましょう。)

Page 18: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

17

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

Page 19: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

18 第 1章 バッチファイルを使う環境を整える

 作成したバッチファイルを実行する

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

ンプトをダブルクリックして開きます。以下のコマンド(バッチファイル名がコマン

ドになります)を打って「Enter」を押して下さい。

test.bat

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

字化けする場合、もしくは何も表示されない場合は付録の「文字化けへの対処」を参

照してください。

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

ます。

Page 20: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

19

 第 1章のまとめ

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

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

babababababababababababababababab

【第1章のまとめ】

その1

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

その2

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

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

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

Page 21: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

20

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

 第 2章の内容

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

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

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

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

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

Page 22: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

21

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

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

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

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

変更して下さい。

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

1章 バッチファイルを使う環境を整える」に戻って設定しましょう。

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

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

1 fc file1.txt file2.txt

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

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

Page 23: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

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

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

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

て下さい。この中に、

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

2

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

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

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

2

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

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

以上で準備完了です。

Page 24: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

23

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

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

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

コマンドプロンプトに、

compare_files.bat

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

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

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

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

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

Page 25: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

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

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

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

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

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

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

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

1 fc /n file1.txt file2.txt

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

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

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

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

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

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

さい。

Page 26: 知識ゼロからのWindowsバッチファイル超入門 -知 …...知識ゼロからのWindowsバッチファイル超入門-知識ゼロから中級レベルを目指す- 井手喜彦

25

 第 2章のまとめ

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

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

babababababababababababababababab

【第2章のまとめ】

その1

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

その2

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

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

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

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

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

いきます。