見出し画像

連載#02■個人向け|Windowsの標準機能だけでバックアップの仕組みをつくる

この記事は連載となっています。
前回の記事をご覧になってからお読みいただけると幸いです。

フォルダやファイルには位置を示すパス(path)がある

通常Windowsであれば、フォルダやファイルを「ここ!」とマウスポインタで指すことができますが、コマンド環境では別の方法を使います。効率よくフォルダやファイルの位置を示す方法として文字で表現できるようになっています
これをパス(path)といいます。フォルダやファイルが移動すればパスも変更されます。

「ドキュメント」フォルダのパスを確認する

もう少し詳しくみていきましょう。
たとえば普段よく使うユーザーの文書データのたまり場「ドキュメント」フォルダは、Windowsが親しみやすい言葉に置き換えている特殊なフォルダで、実際には"Documents"というフォルダ名で扱われています。

では実際に「ドキュメント」フォルダが、"Documents"という名前のフォルダであることを確かめてみましょう。

これから、Cドライブの中を覗いていきます。
PCの環境は人によって異なりますが、「PC」というアイコンをクリックすると接続されている装置一覧が表示されると思います。
以前「PC」は「マイコンピュータ」という名前でしたが、変更されると説明するときに混乱させてしまいますよね。

もしも「PC」の場所がわからない場合は、デスクトップ左下の[スタート]を右クリックをし、「検索」にて"PC"と入力してください。

以下のようにダブルクリックでフォルダを開いていってください。
Cドライブ ⇒ ユーザー ⇒ ご自分のアカウント名
すると、画像のようにおなじみのフォルダがあります。これがいつも利用しているフォルダの格納場所の実態となります。

自分のアカウント名のフォルダの中に
既定のフォルダが用意されている様子

次に「ドキュメント」を開いてみてください。
ご自分が作成した文書ファイルが入っています。

フォルダ内の以下の画像の欄をクリックすると、上部の欄にはフォルダの位置を示すパスが表示されます。このようにパスはフォルダやファイルの場所を示す文字列で表記されます。

開いているフォルダのパスを確認するには該当欄をクリックをする

参考までに、ここで「デスクトップ」をダブルクリックすると ご自分のデスクトップに表示されているファイルやフォルダ、ショートカットが並んでいると思います。
デスクトップですら、ひとつのフォルダとして管理されていることがわかると思います。

各フォルダのパスを確認する

それぞれのフォルダにおいて、実際のフォルダ名は以下のようなパスとなります。

次の説明に進むために、それぞれのパスを整理しておきます(一部のみ)。

  • 「デスクトップ」のパス‥‥C:\Users\Jimputer\Desktop

  • 「ドキュメント」のパス‥‥C:\Users\Jimputer\Documents

  • 「ピクチャ」のパス‥‥C:\Users\Jimputer\Pictures

  • 「ミュージック」のパス‥‥C:\Users\Jimputer\Music

  • 「ビデオ」のパス‥‥C:\Users\Jimputer\Videos

  • 「ダウンロード」のパス‥‥C:\Users\Jimputer\Downloads

繰り返しになりますが、このような方法で表された該当する位置のことを「パス(path)」といいます。パスはフォルダの階層を "\" で区切って表現します。

以上、パスというものについて説明してきました。

続いて、バックアップの際に必要となるコピーをする方法について説明しますが、前述のパスの知識が必要になります。

マウスを使わずに文書ファイルをコピーする

体験していただく環境は複雑にみえるかもしれませんが、できるだけシンプルな状態で用意させていただきますのでどうかお付き合いください。

[準備]
デスクトップ上にフォルダ「FolderA」と「BackupFolder」を作成してください。

最終目標はフォルダ「FolderA」の中身を
フォルダ「BackupFolder」にコピーします

「FolderA」の中に以下のファイルを作ってください。

a.docx
b.xlsx
c.pptx

ファイル名はどのようなものでも結構ですが、間違って削除してもよいように今回の体験のために作成した方がよいでしょう。

環境によっては拡張子が表示されていない場合がありますので、以下の方法で表示をさせておいてください。
「拡張子」とは、そのファイルの種類を識別する文字となり、製品などによって概ね決まっています。mp3 は音声、jpg は写真で有名ですね。

適当なフォルダを開く
[表示]タブ内の「ファイル名拡張子」にチェックを入れる

このようにコンピュータは「何かを実現するために、その前提として何かをしておかなければならない」という積み重ねで、ここが面白いと思うか、煩わしいと感じるかで興味の範囲が変わってくるものと思います。

さてここで、FolderAを日々使用しているフォルダで、バックアップがとりたい場所として進めていきます。
現在3つのファイルがある状態です。

次にこのFolderAのデータを別のフォルダ「BackupFolder」にコピーする体験をしてみたいと思います。
ここでバックアップ先のフォルダを「MyBackup」として、これもデスクトップ上に作成してください。こちらは現在何も入っていない空(カラ)のフォルダということになります。

現在 デスクトップには以下のような状態となっています。
・送り側(コピー元フォルダ)‥‥FolderA(中には a.docx,b.xlsx,c.pptx のファイル)
・受け側(コピー先フォルダ)‥‥BackupFolder(空っぽ)

前回はコマンドとして、cd や dir を使ってみましたが、今度はコピーをするためのコマンド copy を使用します。
コンソール画面が操作できる状態にしてください。
※閉じてしまっても、前回の方法でいつでも使用できる状態になります。

copy コマンドは以下のような体系で使用されます。

copy [送り側] [受け側]

※このような表記のときは、記号[]は入力しません。
※"copy" , "[送り側]" , "[受け側]" のそれぞれの間は半角スペースを入れます。

パス(path)を記述する

[送り側]のパスについて考えてみます。
GUI環境であれば「ここ!」とマウスで指すことができますが、コマンドではそうはいきません。
例えば現在デスクトップに a.docx というファイルがあるわけですが、このファイルをパスで表すとどうなるでしょうか。デスクトップもフォルダの一部であることも確認しました。

C:\Users\Jimputer\Desktop\FolderA\a.docx

という形になります。これが「a.docx」というファイルの場所を指し示すパスの記述になります。

C:\Users\ARK\Desktop\FolderA まではフォルダの階層を表していますが、最後の部分はファイルを示すので ...\a.docx と続けます。

同様に[受け側]は、フォルダになるので、

C:\Users\Jimputer\Desktop\BackupFolder

となります。
この表記の Jimputer は私の名前ですので、皆さんはご自分のアカウントに置き換えて実行してください。

以上のようなパスを使った記述を組み立てて、copyコマンドの体系に合わせて記述すると以下のようになります。

copy C:\Users\Jimputer\Desktop\FolderA\a.docx C:\Users\Jimputer\Desktop\BackupFolder

一見 複雑に見えますが、しっかりと "copy [送り側] [受け側]" の体系になっていることがお分かりいただけると思います。

ここで上記のコマンドをプロンプトから実行してみてください。
実行の際にはデスクトップのBackupFolderをダブルクリックで開いておくと、コピーされた様子がわかります。

ちなみに上記のコマンドはコピーしてコマンドプロンプトに貼り付けることができますので、この機能をうまく使用してください。以前のOSではこれができなかったので、とても苦労しました。作業をしながらで結構ですので同情もお願いします。

コピーのコマンドはご理解いただけたかと思いますが、この例では3つファイルがあるのですべてコピーするには以下のようになるわけですが‥。

  • copy C:\Users\Jimputer\Desktop\FolderA\a.docx C:\Users\Jimputer\Desktop\BackupFolder

  • copy C:\Users\Jimputer\Desktop\FolderA\b.xlsx C:\Users\Jimputer\Desktop\BackupFolder

  • copy C:\Users\Jimputer\Desktop\FolderA\c.pptx C:\Users\Jimputer\Desktop\BackupFolder

この方法だと3個のファイルをコピーするのに3行も書かなくてはならず効率が悪いことがわかります。また日々ファイルが増えたり、改善を重ねてファイル名が変更になった場合にはとても対応しきれません。

すべての文字を対象とするワイルドカードを使う

この機能は "*" という記号(アスタリスク)で表され、ファイルの文字をこの記号で置き換える意味を持っています。これを「ワイルドカード」といいます。

copyコマンドの記述では以下のように使います。

copy C:\Users\Jimputer\Desktop\FolderA\*.* C:\Users\Jimputer\Desktop\BackupFolder


前方の "*" はファイル名を表しており、後方の "*" は拡張子を表しています。
つまり、FolderA内のすべてのファイルがコピーの対象となるというわけです。

まとめ

今回はコマンドでファイルを操作する際に必ず必要となる、パス(path)についてお話をしました。また複数あるファイルをひとつひとつ指定するのではなく、すべてを対象とする記号としてワイルドカードについて記しました。
これによって、フォルダ内にあるすべてのファイルが対象となって、コピーできるようになりました。

これでテーマである「バックアップ」として、一応のコピーはできるようになりましたが、この状況は、不完全だと思いませんか?
実はcopyコマンドファイルはコピーできるのですが、フォルダのコピーに対応していない仕様なのです。つまりドキュメントフォルダ(Document)内にサブフォルダを作ってもコピーされません

仮に適当なサブフォルダをFolderA内に作成して、同様のcopyコマンドを実行してみてください。機能として存在しないのでどうやってもcopyコマンドでは対応できないのです。

※このようにできることとできないことを少しずつ体験していただきながら、コマンドの仕組みを理解していただきバックアップの仕組みを完成させていく方針としています。
別の記事でも書きましたが、これは体験学習のようなイメージで進めていますので、すぐに結果が知りたい方には向いていない記事となります。ご了承ください。

それではまた次回にお会いしましょう。


(参考まで)
本稿ではcopyコマンドを1行で記述しましたが、2行に分けて処理をすることができます。

●1行で表す場合(この記事での表記方法)

copy C:\Users\Jimputer\Desktop\FolderA\*.* C:\Users\Jimputer\Desktop\BackupFolder

●2行で表す場合
前回に学習したcdコマンドで、[送り元]のFolderAをあらかじめ開いておきます。その状態でcopyコマンドを実行すれば、パスを指定する必要はありません。

cd C:\Users\Jimputer\Desktop\FolderA
copy *.* C:\Users\Jimputer\Desktop\BackupFolder


この記事は連載となっています。
次回の記事は以下になります。

この記事が気に入ったらサポートをしてみませんか?