今さら聞けないWindowsコマンドプロンプトの使い方

プログラミングを学習し始めるとコマンドプロンプトを使う機会が増えます。積極的に使って慣れていこう!

windows, cmd.exe

CUI

コンピューターが世の中に普及しはじめた、MS-DOS、OS2、UNIXなどのOSが主流だった頃、コンピューターを使う時はコマンドと呼ばれる命令文を入力をしていました。コマンドによりコンピューターの操作や設定などをしていました。このコンピューターの操作はキャラクタユーザーインタフェース (character user interface)もしくは、コンソールユーザーインタフェース (console user interface)を略して「CUI」と言われています。現在は、マウスを使ったり画面をタッチして操作するグラフィカルユーザーインターフェース(Graphical User Interface)を略して「GUI」が主流となっていますが、各OSはCUIで使用することもできるようになっています。それは、画面で操作するには面倒な繰り返し作業を簡単にしたり、画面を用意せずにコマンド入力だけで単純に高速に動作させることができるなどの利点があるからです。プログラミング学習もGUIを用いた統合開発環境(IDE)を使うこともできますが、はじめの頃はコマンド入力でプログラムを実行しながら学習する方が簡単な場合もあります。SDKを使うときにCUIでの利用方法を提供しているものも多くあります。CUIを使うことに慣れておいた方が学習を進めていくのに有利になるでしょう。

コマンドプロンプト

WindowsでCUIを使う時は「コマンドプロンプト」を起動します。以下はWindows10の使い方を例に説明します。

コマンドプロンプトの起動は、スタートメニューから[Windowsシステムルール]-[コマンドプロンプト]をクリックするか、

もしくは、タスクバーの検索フィールドに「cmd.exe」と入力すると結果に表示される「コマンドプロンプト」をクリックして実行します。

コマンドプロンプトを起動すると以下の画面が表示されて、コマンド入力待ちとなります。

実行後はタスクバーにピン留めしておけば、次回以降は簡単に起動できるようなります。

ドライブとパスが表示されます。パスは常にカレントディレクトリのフルパスが表示されます。

コマンドプロンプトを終了するには、他のアプリと同じように右上の「X」をクリックするか、コマンドに「exit」を入力するとウィンドウが閉じて終了します。

Windowsにはコマンドプロンプト以外に「Windows PowerShell」というコンソールも利用できます。コマンドプロンプトより高機能でより高度なシステム管理が出来るように用意されました。PowerShellを使うとUNIX系と同じコマンドが実行できます。ですがオプションが違うためUNIX系に慣れている人が使うとかえって違和感があるので使いにくいかもしれません。

これ以外にもWindows10にはLinuxをサブシステムとして利用できる仕組みが用意されています(Windows Subsystem for Linux)。これをインストールするとWindows上でLinuxがシームレスに利用できるようになります。

Windows 10 Fall Creators Update (2017年秋)のアップデートからWindows Subsystem for Linuxという機能名で実装されています。これをインストールするとUbuntuがWindows10のサブシステムとして利用できるようになります。

よく使うコマンド

コマンドプロンプトを利用するときによく使うコマンドをいくつか紹介します。

cd

カレントディレクトリの移動

書式

cd [/D] [ドライブ:] [パス]

オプション

/D

ディレクトリだけでなく,ドライブも変更する

[ドライブ:]

変更するドライブ名を指定する

[パス]

変更先のディレクトリのパスを指定する

..

親ディレクトリへ移動する

例)
cd c:¥windows¥system Cドライブの"windows¥system"ディレクトリへ移動

dir

ファイルやディレクトリの一覧表示

パスを指定せずにdirコマンドだけを実行したときはカレントディレクトリの情報を表示

書式

dir [ドライブ:][パス][ファイル名] [/B]

オプション

[ドライブ:]

一覧表示するドライブを指定する

[パス]

一覧表示するディレクトリを指定する

[ファイル名]

一覧表示するファイルまたはグループを指定する

/B

ファイル名のみを表示

※よく使うオプションだけ表記しています。これら以外にもオプションがあります。

例)
dir c:¥windows "c:¥widows"の内容を表示

copy

ファイルやディレクトリのコピー

書式

copy [/V] [/A | /B] コピー元  [/A | /B]
[+ コピー元2  [/A | /B] [+ ...]] [コピー先 [/A | /B]]

オプション

コピー元

コピーするファイル(複数可)を指定する

/A

ASCIIテキスト・ファイルとして扱う

/B

バイナリ・ファイルとして扱う

コピー先

新しいファイルのディレクトリまたはファイル名(複数可)を指定する

/V

新しいファイルを正しく書き込んだか検査する

※よく使うオプションだけ表記しています。これら以外にもオプションがあります。

例)
copy c:¥sample.txt d:¥ Cドライブの"sample.txt"ファイルをDドライブにコピー

move

ファイルやディレクトリの移動・名前の変更をする

書式

move 移動元[,移動元2...] 移動先

オプション

移動元([ドライブ:] ディレクトリ/ファイル名)

移動するファイル/ディレクトリ名を指定する

移動先([ドライブ:] ディレクトリ/ファイル名)

移動先のファイル/ディレクトリ名を指定する

ディレクトリ名2

新しいディレクトリ名を指定する

※よく使うオプションだけ表記しています。これら以外にもオプションがあります。

例)
move c:¥org_folder d:¥new_folder Cドライブの"org_folder"フォルダの内容をDドライブの"new_folder"に移動

del

ファイルを削除する

書式

del [ドライブ:] ファイル名 [/F] [/S]

オプション

[ドライブ:]  ファイル名 ファイル(複数可)の一覧を指定する
/F 読み取り専用ファイルを強制的に削除する
/S 指定したファイルをすべてサブディレクトリから削除する

※よく使うオプションだけ表記しています。これら以外にもオプションがあります。

例)
del c:¥sample.txt /F Cドライブの"sample.txt"ファイルを強制的に削除

rmdir

ディレクトリの削除

書式

rmdir [/S] [ドライブ:] [パス]

オプション

 [ドライブ:] [パス] 削除するディレクトリを指定
/S 指定したディレクトリに加え,ディレクトリ内のすべてのディレクトリとファイルを削除する

※よく使うオプションだけ表記しています。これら以外にもオプションがあります。

例)
rmdir c:¥test_folder Cドライブの"test_folder"ディレクトリを削除

mkdir

ディレクトリの作成

書式

mkdir [ドライブ:] [パス]

オプション

[ドライブ:] [パス]

作成するディレクトリを入力

例)
mkdir c:¥test_folder Cドライブに"test_folder"ディレクトリを作成

最後に

プログラミングを学習する目的以外にもコマンドプロンプトを使うことは多くあります。何かを開発するようになると必ずといっていいくらいにコマンド入力が必要になってくるのでコマンドプロンプトに慣れておくととても有利です。普段は使うことがないので億劫になりがちですが、是非積極的に使ってみてください。