FC2ブログ

PC☆EXA(ピーシー☆エクサ)

自作パソコン、Windows、スマホ、アプリ等‥の操作、設定をいまさら聞けない操作を紹介します。

コマンドプロンプトで利用できる主なコマンドとその使い方

2021.04.17 (Sat)
主なCUI操作とそのために利用できるコマンドhelpで表示されるコマンドをざっと数えても100を超えるほど。
それ以外にも、さまざまなアプリにもコマンドが付属している。
まずはここで、CUIでよく行うであろう作業と、
そのために利用できるコマンド名を以下に挙げてみました。ま
ずは表を斜め読みして、どんな機能がコマンドとして
用意されているのか、眺めてみて下さい。


目的/用途 使用できるコマンドや使い方
名前の確認 dir
フォルダのツリー構造の表示 tree
カレントフォルダの確認 cd(引数なしでcdコマンドを実行する)。
別のドライブのカレントフォルダを確認したい場合は
「cd d:」のようにドライブ名をパラメータとして指定する
カレントフォルダの変更 cdに移動先のフォルダを指定する
カレントドライブの変更 C:やD:のようにドライブ名だけを入力する
ファイルの作成 アプリで書き込んだり、リダイレクトで新規作成したり、
コピーコマンドで複製したりする
ファイルの削除 del(eraseでも同じ)。注:このコマンドではフォルダは削除できない
フォルダの作成 md(mkdir)
フォルダの削除 rd(rmdir)
あるフォルダ以下のファイルと
フォルダの全削除
rd(rmdir)に/sオプションを付けて実行
名前の変更 ren(rename)
ファイル/フォルダの移動 move
ファイルのコピー 一番基本的なファイルのコピーコマンドはcopy。
ただしこのコマンドではフォルダはコピーできない
フォルダやファイルを
まとめてコピー
xcopyかrobocopy。xcopyが基本のコピーコマンド。
robocopyは非常に多機能な、
主にフォルダのバックアップに使うためのコマンド
ファイルの属性の確認と変更 attrib/cacls/icacls/subinacl
テキストデータから
文字列を検索する
find/findstr。findが基本的な文字列検索コマンド、
findstrは正規表現が使える検索コマンド
ファイル内容の比較 fc/comp。fcは相違点を表示するが、
compは同じかそうでないかを判断するだけ(相違点を表示しない)
テキストデータのソート sort
環境変数の設定/表示 set
画面のクリア cls
ファイル内容の表示
(テキストのみ)
type。注:バイナリファイルを表示させると
画面が乱れたり、止められなくなったりするので注意
ページャ
(表示を1ページずつ止めて表示させるコマンド)
more
クリップボードへのコピー clip
クリップボードからの貼り付け 特になし。ただしマウスを右クリックすると、
クリップボードの内容が
コマンドプロンプト画面へ入力される
文字列の表示 echo
日付の表示/設定 date
時刻の表示/設定 time
OSバージョン番号の表示 ver
主なCUI操作とそのために利用できるコマンド


コマンド利用の実際

カレントフォルダを変更するcdコマンドは、
少々説明が長くなるので、まずはこの表から、基本的なコマンドをいくつか
ピックアップして、コマンド利用の感覚を掴んでみましょう。


新しいフォルダを作成するmdコマンド

新しいフォルダを作成するにはmd(mkdir)コマンドを使って
「md ¥temp」のようにする。「md C:¥temp¥work¥prj」のようにして、
¥tempと¥temp¥workと¥temp¥work¥prjという
複数のフォルダ階層を一気に作成することもできます。

wi-cmdlinefig211.png
新しいフォルダを作成するmdコマンド


ファイルを削除するdelコマンド

ファイルを削除するにはdel(もしくはerase。どちらも同じ)
コマンドを利用する(delではフォルダは削除できない)。
例えば「del *.txt」のようにする。ただしエクスプローラの
削除機能と違って、ごみ箱へも移動されずに、
すぐに削除されてしまうので注意が必要です。
削除されたファイルを後で戻すことはできない
(Windows OSのファイル履歴などの機能で戻すしかない)。

wi-cmdlinefig212.png
ファイルを削除するdelコマンド

delのパラメーターとしてフォルダ名を指定すると、フォルダではなく、
その中にあるファイルを全部削除しようとする
(末尾に「¥*.*」を付けた、「del temp¥*.*」と同じ状態になる)。
実際には、実行前に確認メッセージが表示されるの
ですぐには削除されませんが
(「Y」と入力すると実際に削除される)、注意する。


フォルダを削除するrdコマンド

フォルダを削除するにはrdコマンドを利用して、
「rd ¥temp」のようにする。

wi-cmdlinefig213.png
フォルダを削除するrdコマンド

深いフォルダ階層のパスを指定しても、
削除されるのは一番下位にあるフォルダのみである。
例えば「md C:¥temp\work¥prj」の実行後に
「rd C:¥temp\work¥prj」を実行すると、
tempもworkも残ったまま、prjのみが削除される。

フォルダが空でなく、その中に何らかのファイルや
フォルダが存在する場合はエラーになる。
そんな場合は、中のファイルやフォルダをいちいち
全部削除してからrdを実行してもいいが、
通常は次の/sオプション付きのrdコマンドを使うと
簡単にまとめて削除できる。


サブフォルダごとファイルを削除するならrd /sコマンド

特定のフォルダ以下のフォルダやファイルをまとめて
全部削除するには、rdに/sオプションを付けて
「rd /s¥temp」のようにする。
ファイルを削除するdelコマンドでは、
フォルダ階層ごと削除することはできない。

wi-cmdlinefig214.png
サブフォルダごと削除するrd /sコマンド

このコマンドを実行すると、実行の前に
確認メッセージが表示される。
「Y」と入力すると実際に削除されます。

カレントフォルダ自身を「rd /s .」で削除することはできない。
カレントフォルダを1つ以上、
上のフォルダへ移動してから削除する必要がある。
これを利用して、「rmdir /s .」とすると
(確認のための「Y」の入力は必要)、カレントフォルダ以下にある
ファイルやフォルダを全てまとめて削除することができる
(「.」だけは削除できずに残るため)。


ファイル名を変更するrenコマンド

ファイル名を変更するには、ren(rename)コマンドを利用する。
このコマンドには、2通りの使い方がある。

ファイルの名前を変更するには、
変更前と変更後の名前を並べて
「ren file1.txt mydocument.text」のようにする。

wi-cmdlinefig215.png
ファイル名を変更するrenコマンド

もう1つの使い方として、ワイルドカードを使った名前変更がある。
例えば「ren *.txt *.text」とすると、
*.txtに該当する全ファイルの拡張子が.txtから.textに変更される。

wi-cmdlinefig216.png
ワイルドカードを使って名前を変更する

この場合は少し注意が必要である。
renに続く2つの名前指定のうち、
最初のものは名前変更の対象となるファイルを表す。
ワイルドカードを使うと複数のファイルが対象になる。

2つ目の名前は、変更後の名前を表すが、ここに「¥」を含む
パス指定は使えない
(名前を変更しながら、別の場所へ移動することはできない、ということ)。
ここにワイルドカードを使うと、「*」や「?」の
部分には、元のファイル名中の文字が、そのまま維持される。

あまり複雑な名前変更はできず、例えば「photo*.jpg」を「
旅行写真*.*」に変更するといったことはできない
(「photo」の部分を「旅行写真」にすることはできないということ。
5文字から4文字に短くしようとしているため。
変更の前後で文字数が同じなら実行できる)。


ファイル/フォルダを移動するmoveコマンド

ファイルやフォルダを別の場所へ移動させたいなら、
moveコマンドを利用する。
エクスプローラでいえば、ファイルやフォルダを選択して
[Ctrl]+[X]でカットして、[Ctrl]+[V]で
別の場所へ張り付けて移動させることに相当します。

wi-cmdlinefig217.png
ファイルやフォルダを移動するmoveコマンド


ファイルをコピーするためのコマンド

ファイルをコピーするコマンドはいくつかある。


★ファイルをコピーするcopyコマンド

ファイルをコピーするならcopyコマンドが
一番基本的なコマンドである。
だがcopyではファイルしかコピーできず、
フォルダはコピーできない。

コピーの第1引数にはコピー元のファイル名、
第2引数にはコピー先を指定する。
コピー元としてワイルドカードを使うと
複数のファイルが対象になるが、
この場合はコピー先としてはフォルダ名かドライブ名だけを指定する。
コピー元にフォルダを指定すると、末尾に「¥*.*」が補われたものとして
扱われる(例「copy . temp」→「copy .¥*.* temp」)。

wi-cmdlinefig218.png
ファイルをコピーするcopyコマンド


★フォルダ階層ごとコピーするxcopyコマンド

フォルダのツリー階層ごとコピーしたい場合は
xcopyコマンドに/sオプションを付けて実行する
(/sがないと、通常のcopyと同じ)。

wi-cmdlinefig219.png
フォルダ階層ごとコピーするxcopy /sコマンド


なお/sオプションでは空フォルダ
(中に何もないフォルダ)はコピーしない。
多くの場合は、空フォルダもコピーさせる
(空のフォルダも作成させる)ために、
「/e」オプションも付けて使うことが多い。

このコマンドには多くのオプションがあります。


★フォルダのコピー/バックアップ用の
高機能なrobocopyコマンド

robocopyは、xcopyよりも高機能なコピーコマンドである。
フォルダツリーを丸ごとコピーしたり、
エラー時にリトライしたり、コピーした
ファイルのログ(記録)を取ったりできるなど、
主にファイルやシステム情報などのバックアップ用に作られています。
ただしフォルダごとコピーするのに向くコマンドであり、
そうでない用途には(一般的なコピーには)
copyやxcopyの方がが向いている。

例えば拡張子.txtのファイルだけをある
フォルダから別のフォルダにコピーしたければ次のようにする。

wi-cmdlinefig220.png
フォルダのコピー/バックアップに向くrobocopyコマンド

ごく一例で、robocopyコマンドにはさまざまな機能がある。
ちょっと複雑なバックアップ用途なら、
このコマンドを活用するのが早道です。



にほんブログ村 IT技術ブログへ
関連記事
スポンサーサイト



コメント


管理者のみに表示