先日、USB3.1の外付けハードディスクからパソコンにデータをバックアップした所、失敗ばかりでうまくコピーできない不具合に合いました。
ファイル管理の得意なコマンドプロンプトなら、うまくデータを移動できるかなと思い試してみました。
コマンドプロンプトとは
Windowsシステムツールに用意されているコマンドプロンプト(Command prompt)は、Windows以前のOSであるMS-DOSを利用するためのツールです。
主にマウスで操作できるWindowsとは違い、キーボートのみでコマンドと言う指令を与えてファイル管理などパソコンの操作を行います。
Windowsも進みMS-DOSはほぼ必要なくなりましたが、未だに有用なコマンドプロンプトを利用した便利なコマンドや面白いコマンドがあるので、たまに使うときの備忘録に記録しておきます。
コマンドプロンプトの開き方
スタートボタンから起動する
デスクトップ画面の左下の [スタートボタン]から[W]内の[Windowsシステムツール]内[コマンドプロンプト]をクリック。
コマンドプロンプトが起動します。
ショートカットキーを利用して起動する
Windows+Rキーの同時押しで「ファイル名を指定して実行」画面が開きます。
名前の欄に[cmd]を記入して[OK]ボタンをクリック。
コマンドプロンプトが起動します。
管理者として起動する方法
デスクトップ画面の左下の [スタートボタン]から[W]内の[Windowsシステムツール]内[コマンドプロンプト]を右クリック。
[その他]をポイントするとメニューが伸びるので[管理者として実行]をクリックします。
管理者としてコマンドプロンプトが起動します。
スタートメニューを右クリックしたメニューでもコマンドプロンプトを管理者として実行できます。
コマンドプロンプトの終了方法
「exit」Enterキーでコマンドプロンプトが閉じます。(右上の×をクリックしても閉じます。)
一時停止と再開
処理中の中断と再開方法
- 一時停止 Ctrl+S、もしくは Pauseキー
- 再開 Ctrl+Q
カレント
カレント(current)は「現在の」「今の」という意味。
C:\Users\ryu>
「Cドライブ」内[Users]ディレクトリ内[ryu]ディレクトリがカレントディレクトリになります。
カレントディレクトリでコマンドを受け付けている状態です。
[>](プロンプト)の後にコマンドを入力して実行します。
フォーマット
コマンドプロンプトでフォーマットできます。
C:\Users\ryu>format f: /fs:fat32 /q
「フォーマット」します。「Fドライブ」を「FAT32」で「クイックフォーマット」する。
「FAT32」は32GB以下の容量まで
「/q」スイッチのクイックフォーマットを入れずに通常フォーマットすると時間がかかります。
不良セクタのチェックが必要なければクイックフォーマットで大丈夫です。
C:\Users\ryu>format d: /fs:ntfs /v:data /q
「フォーマット」します。「Dドライブ」を「NTFS」で「data」のラベル(名前)をつけて「クイックフォーマット」する。
ヘルプ
コマンドの後ろに「/?」を入力すると、コマンドのヘルプが表示されます。
C:\Users\ryu>format /?
上記でフォーマットコマンドのヘルプを呼び出すことができます。
ドライブの移動
[>](プロンプト)の後に「D:」を入力すれば、現在位置をDドライブ(ディスク)に移動できます。
C:\Users\ryu>d: D:>
ディレクトリの作り方
カレントドライブ(現在位置、指令待ちのドライブ)にディレクトリを作る。
D:\>md test
Dドライブに[test]ディレクトリを作りました。
「MD」は「MKDIR」の略でメイクディレクトリのこと
「ディレクトリ」と「フォルダ」は同意語です。
ディレクトリへ移動
ドライブからディレクトリに移動する
D:\>cd \test D:\test>
Dドライブの[test]ディレクトリに現在位置(カレントディレクトリ)を移動する。
「CD」は「CHDIR」の略でチェンジディレクトリのこと
ディレクトリから一つ下の階層ディレクトリへ移動する
D:\test>cd \test\in D:\test\in>
「Dドライブ」の[test]ディレクトリから「Dドライブ」の[test]ディレクトリ内[in]ディレクトリに現在位置を移動する。
一つ上の階層に戻る
D:\test\in>cd .. D:\test>
キーボードの位置
\
は右Shiftの隣。意味はルートディレクトリ
/は\
の左隣
?はShiftを押しながら/
ディレクトリの削除
D:\test>rd in
「Dドライブ」の[test]ディレクトリ内[in]ディレクトリを削除する。
「RD」は「RMDIR」の略でリムーブディレクトリのこと。
ファイルがディレクトリの中にあると削除できない。
D:\test>del in
「Dドライブ」の[test]ディレクトリ」内[in]ディレクトリを中のファイルごと削除
名前の変更
「RENAME」は指定した「ディレクトリ」や「ファイル」の名前を変更するコマンド。
「RENAME」は「REN」に省略できる
ディレクトリ名の変更名の変更
D:\test>rename in out
「Dドライブ」の[test]ディレクトリ内[in]ディレクトリを[out]ディレクトリに名前を変更。
ディレクトリはMS-DOSでは「RENDIR」を使用。
ファイル名の変更
D:\test>ren old.txt new.txt
「Dドライブ」の[test]ディレクトリ内「old.txt」ファイルを「new.txt」ファイルに名前を変更
ディレクトリの内容確認
「DIR」コマンドでディスクやディレクトリのファイルとサブディレクトリを一覧表示できます。
ディスクの一覧表示
D:\>dir
ディレクトリの一覧表示
D:\test>dir
階層ディレクトリ
ドライブやパスのフォルダー構造をツリー形式で図式表示します。
D:\>tree
カレントディレクトリにないファイルの指定
D:\test>f:\wonder\all-del.bat
「Dドライブ」の[test]ディレクトリから指令。
「Fドライブ」の[wonder]ディレクトリ「all-del.bat」ファイルを指定している。(バッチファイルなら実行する)
COPYの種類
COPY
「copy」はファイルをコピーするコマンド
1つまたは複数のファイルを別の場所にコピーします。
D:\test>copy new.txt new-01.txt
「Dドライブ」の[test]ディレクトリ内「new.txt」ファイルを「new-01.txt」ファイルにコピーする。
D:\test>copy new.txt d:\game\new.txt
「Dドライブ」の[test]ディレクトリ内「new.txt」ファイルを「Dドライブ」の[game]ディレクトリにコピーする。
同名でコピーする場合はファイル名は省略可能
D:\test>copy new.txt d:\game
XCOPYはディレクトリとファイルをコピーするコマンド
XCOPYはディレクトリとファイルをコピーするコマンド
管理者として実行しないと使えないコマンドです。
C:\WINDOWS\system32>xcopy f: d:\in /s
「Fドライブ」のディレクトリとファイルを「Dドライブ」の[in]ディレクトリにコピーする。
- [/s]オプション
- 空のディレクトリはコピーしない。
C:\WINDOWS\system32>xcopy f:wonder d:in /s /z
「Fドライブ」の[wonder]ディレクトリ内のディレクトリとファイルを「Dドライブ」の[in]ディレクトリにコピーする。
- [/z]オプション
- コピーが途中で切断しても再接続後に再開します。
ROBOCOPY
「ROBOCOPY」はアクセス権とディレクトリとファイルをコピーするコマンド
管理者として実行しないと使えないコマンド
nasの同期などに使うコマンドで、コピー先に同じファイルがあるときはコピーしない、ユーザー情報までコピーする等、多機能。
「ROBOCOPY」は Windowsの堅牢性の高いファイルコピーです。
C:\WINDOWS\system32>robocopy f:\wonder d:\in\wonder /mir
「Fドライブ」の[wonder]ディレクトリ内のディレクトリとファイルを「Dドライブ」の[in]ディレクトリの[wonder]ディレクトリにコピーする。
- [/mir]オプション
- コピー先とコピー元を全く同じにします。
ROBOCOPYの特徴
- コピー元で更新したファイルはコピー先でも更新する。
- コピー元にはあるが、コピー先に存在しないフォルダやファイルは新規作成。(ルート上の[in]ディレクトリやコピー先[wonder]ディレクトリもなければ作る。)
- コピー元にはないコピー先のみに存在するファイルは削除する。
[/mir]オプションが完了すると、ファイルの更新、作成、削除が行われて、コピー元を完全複製したコピー先ができあがる。
ファイルの抽出
方法はたくさんあるが一例。部分一致のコピーで抽出する。
「Fドライブ」の[wonder]ディレクトリ内に下記テキストファイルが入っている。
- a (J) (FP) [p].txt
- a (J) [b1].txt
- a (J) [b2].txt
- a (J) [b3].txt
- a (J).txt
- b (J) [Eng0].txt
- b (J) [Eng1].txt
- b (J).txt
- b (J) [b1].txt
- b (J) [b2].txt
- b (J).txt
- c (J) [a].txt
- c (J) [b1].txt
- c (J) [o1].txt
- c (J).txt
- d (J).txt
(J).txtファイルだけを抽出したい
D:\>copy f:\wonder\*(j).txt f:\wonder\rei
「Dドライブ」から指令。「Fドライブ」の[wonder]ディレクトリ内「(J).txt」を含むファイルを「Fドライブ」の[wonder]ディレクトリ内[rei]ディレクトリにコピーする。
[rei]ディレクトリはコピー前に作っておく
- [*] (ワイルドカード)
- どんな文字の代わりに使える特殊文字。
- a (J).txt
- b (J).txt
- c (J).txt
- d (J).txt
ファイルが「rei」フォルダにコピーされます。
なんかコピーできないファイルがある場合は半角スペースが入っていないか確認してください。
まとめ
冒頭のコピーができない件は、結論としては外付けハードディスクのケースに問題がありました。
中身のハードディスクを、電源をACアダプタでとっている外付けハードディスクケースに交換したところ、無事ハードディスクのデータをバックアップすることができました。
2.5インチの外付けハードディスク、USB3.1接続で電源もUSBからまかなっている場合は、データの移動がうまくいかないとき電圧が足りているか疑ってみると良いと思います。
あまり利用しないコマンドプロンプトですが、次回利用時はこのページを見れば迷うことなく使えそうです。
コメント