パワーシェルを使う場面も多いですがまだまだコマンドプロンプトを使う機会も多いと思います。私ももともとネットワークとサーバエンジニアのため日常的にシステムのメンテナンスやステータス確認でコマンドプロンプトをよく使っていました。今回ご紹介するテクニックはあまり知られていないので他の人の前で使っているとひと目置かれれる場面が多々あります。今回はWindowsのコマンドプロンプト(cmd)をより便利に使うための裏ワザや便利なテクニックを紹介したいと思います。
コマンドプロンプトの立ち上げ方
スタートメニューからアクセサリの中なで開いて立ち上げる方法もありますが、一番ラクなのがWindowsキーとRボタンを押して「ファイル名を指定して実行」画面をだし、名前にcmdと入力して立ち上げる方法です。ほかにもクイック起動やデスクトップにショートカットを作成しておいてもいいと思います。
エクスプローラからコマンドプロンプトを起動する
エクスプローラで開いているディレクトリや右クリックで指定したフォルダをかれんどディレクトリとしてコマンドプロンプトを開くことができます。この機能は隠しコマンドになっています。これは便利!
- エクスプローラで対象のフォルダを[Shift]キーを押しながら右クリックする
- ショートカットメニューから[コマンドウィンドウをここで開く]をクリックする
出力結果をクリップボードに転送する
実行した結果を保存したい時ってありますよね。リダイレクト機能で >log.txt とかしてもファイルに出力可能ですが、クリップボードに転送する便利な方法があります。ほとんどこの機能を知っている人はいないので自慢できるかと思います。
例えばdirコマンドでディレクトリ内のファイル一覧をクリップボードに転送したい場合は下記のようにパイプを利用してコマンドを実行します。
dir | clip
基本的に実行したいコマンドの後ろに「| clip」をつければいいだけです。簡単ですね! あとは愛用のエディタに貼り付けたらオッケーです。この機能を利用した時はコマンドプロンプトの画面には出力結果は表示されません。
コマンドプロンプトのカレントディレクトリをエクスプローラで開く
コマンドプロンプトでディレクトリ内をゴリゴリ作業中にエクスプローラで内容をみたり、マウスで操作したくなる時ってありますよね。マウス使ったほうがはえー!!って時とか笑 そうゆうときはstartコマンドを使うと便利です。私は知っているエンジニアでこのコマンドを使っているのを見たことがありません。
start .
このコマンドを実行すると今開いている(cdで移動して開いた)かれんどディレクトリの内容がエクスプローラで表示されます。マウスで煮るなり焼くなりしたらオッケーです。startのドットのところをディレクトリにすると(c:¥tempとか)そのディレクトリがエクスプローラで開き、内容が表示されます。
カレントディレクトリを記録し後で戻れるようにする
ディレクトリ作業中に他のディレクトリに移動した作業した時ってけっこうありますよね。そうゆうときに便利なのがpushdコマンドです。unixのcd – コマンドに当たります。pushdコマンドでディレクトリ位置を記録して、popdコマンドで記録したディレクトリに戻るイメージです。
pushd .
これで現在のディレクトリ位置が記録されました。cdコマンドで他の作業したいディレクトリに移動した後、さっきの記録したディレクトリ位置に戻りたいときは下記のコマンドを実行します。
popd
これでさっきの記録したディレクトリ位置に戻ります。便利!
一時的なネットワークドライブの割り当て
上で説明したpushedとpopdコマンドを使えば一時的にネットワークドライブを割り当てることが可能になります。これだけ読んでピンと人はエンジニア経験がかなり多いのでは無いかなと思います。net useコマンドより手軽で便利です。
例えば¥¥tamezatu-webserver¥wp¥を割り当てたいとします。
その場合は下記のコマンドを実行します。
push ¥¥tamezatu-webserver¥wp¥
これでネットワークドライブが割り当て当てられ割り当てたドライブにカレントディレクトリが移動します。割り当てを解除したいときは下記のコマンドを実行します。
popd
もし接続先のサーバーで認証が必要な場合は先に認証を下記コマンドで通しておいてください。コマンドを実行すると認証画面が表示され、正しいユーザー名とパスワードを入れると認証が通ります。
start ¥¥tamezatu-webserver¥wp¥
コマンドプロンプトコマンド一覧
忘備録としてお使いください。
■ディスク/フォルダ/ファイル管理関連 | ||
ASSOC | ASSOC .text=txtfile | *ファイルの拡張子の関連付けを表示または変更。 |
ATTRIB | ATTRIB -H C:\USER.DAT | *ファイルの属性(アトリビュート)を表示または変更。 |
CACLS | CACLS | *ファイルのアクセス制御リスト(ACL)を表示または変更。 |
CD、CHDIR | CD C:\WINDOWS | *現在のディレクトリ(フォルダ)を表示または変更。 |
CHKDSK | CHKDSK C: | *ディスクをチェックし、状態を表示。 |
CHKNTFS | CHKNTFS /D | *起動時のディスクのチェックを表示または変更。 |
CIPHER | CIPHER /W:C:\WORK | NTFS ボリューム上のフォルダやファイルの暗号化と削除データの上書き。 |
COMP | COMP A:\*.DAT D:\*.DAT /A | *2個のファイルまたはファイルの集合の内容を比較。 |
COMPACT | COMPACT /C D:\WORK.DAT | *NTFSパーティション上のファイルの圧縮状態を表示または変更。 |
CONVERT | CONVERT D: /FS:NTFS | *FATボリュームをNTFSに変換。現在のドライブは変換不可。 |
COPY | COPY A:\*.* C: /V /NoSecurity | *1個以上のファイルを別の場所にコピー。 |
DEFRAG | DEFRAG C: -V | ディスクデフラグを実行。 |
DEL、ERASE | DEL C:\TEMP\*.* | *1個以上のファイルを削除。 |
DIR | DIR WIN?.SYS /P | *ディレクトリ中のファイルやサブディレクトリの一覧を表示。 |
DISKCOMP | DISKCOMP A: A: | *2つのフロッピーディスクの内容を比較。 |
DISKCOPY | DISKCOPY A: A: /V | *フロッピーディスクの内容を別のフロッピーにコピー。 |
DISKPART | DISKPART /? | ディスク、パーティション、またはボリュームを管理。 |
DISKPERF | DISKPERF -Y \\MYPC | システムディスクパフォーマンスカウンタの起動、停止。 |
EXPAND | EXPAND D:\WORK.CAB C:\TEMP | 圧縮ファイルを復元する。 |
FC | FC /B C:\WK1.DAT D:\WK2.DAT | *2個のファイルまたはファイルの集合の内容を比較して、それらの違いを表示。 |
FIND | FIND /I “TMP” C:\AUTOEXEC.BAT | *ファイルの中からテキスト文字列を検索。 |
FINDSTR | FINDSTR /C:”TO YOU” D:\WORK.DAT | *ファイルの中から文字列を検索。 |
FORMAT | FORMAT D: /FS:NTFS /V:MAIN_HDD /Q | *Windows で使用するためのディスクをフォーマット。 |
FSUTIL | FSUTIL FSINFO VOLUMEINFO C:\ | スパース ファイルの管理、ボリュームのマウント解除、またはボリュームの拡張を行って、再解析ポイントを管理。 |
FTYPE | FTYPE | MORE | *ファイル拡張子の関連付けで使われるファイルタイプを表示または変更。 |
LABEL | LABEL D: SUB_FOLDER | *ディスクのボリューム ラベルを作成、変更または削除。 |
MD、MKDIR | MD WORK | ディレクトリ(フォルダ)を作成。 |
MORE | MORE WORK.TXT | *出力を一度に1画面ずつ表示。 |
MOUNTVOL | MOUNTVOL D:\DATA\ VOL1 | ボリュームマウントポイントの作成、削除、または一覧表示 |
MOVE | MOVE C:\WORK\*.DAT D:\ | *1個以上のファイルをディレクトリから別のディレクトリに移動。 |
POPD | POPD | *PUSHD コマンド で記憶されたディレクトリに変更。 |
PRINT /D:LPT1 FILE.TXT | *テキストファイルを印刷。 | |
PUSHD | PUSHD C:\TEMP | 現在のディレクトリを、指定したディレクトリに変更する前に、popd コマンドで使えるように現在のディレクトリを格納。 |
RECOVER | RECOVER C:\WORK\CONT.EXE | *不良または欠陥ディスクから読み出し可能な情報を復元。 |
RD、RMDIR | RD C:\TEMP | *ディレクトリを削除。 |
REN、RENAME | REN C:CONFIG.SYS *.BAK | *ファイルの名前を変更。 |
REPLACE | REPLACE A:\TEST.JPG D:\WORK /A | *ファイルを置き換える。 |
SORT | SORT /+3 A:\TEST.DAT | *入力を並べ替える。 |
TREE | TREE /F | *ドライブまたはパスのディレクトリ構造を図式表示。 |
TYPE | TYPE C:\CONFIG.SYS | *テキストファイルの内容を表示。 |
VOL | VOL C: | *ディスクのボリュームラベルとシリアル番号を表示。 |
VSSADMIN | VSSADMIN LIST WRITERS | ボリューム シャドウ コピー サービス管理コマンドラインツールを実行。 |
XCOPY | XCOPY C:\TEMP D:\WORK /S /R | *ファイルやディレクトリ構造をコピー。 |
■稼動環境確認/設定用 | ||
AT | AT 23:00 “TYPE :\PLAN.TXT” | *コマンドやプログラムを指定した日時に実行。 |
BOOTCFG | BOOTCFG /DBG1394 /ID 2 | Boot.ini ファイルの設定を構成、照会、または変更。 |
BREAK | BREAK ON | *拡張 CTRL+C チェックを設定または解除。 |
CHCP | CHCP 932 | 有効なコード ページ番号を表示または設定。 |
CLS | CLS | *画面を消去。 |
COLOR | COLOR 1E | *コンソールの文字と背景の既定の色を設定。 |
DATE | DATE | *日付を表示または変更。 |
FORCEDOS | FORCEDOS /D D:\DOSPGM GAME1.EXE | 指定したプログラムを強制的にMS-DOSシステムで起動。 |
GRAFTABL | GRAFTABL /STATUS | *Windowsがグラフィックモードで拡張文字セットを表示可能にする。 |
LOGMAN | LOGMAN START PERF_LOG | ローカル システムおよびリモート システム上のパフォーマンス カウンタおよびイベント トレース ログを管理およびスケジュール。 |
LOGOFF | LOGOFF | セッションを終了。 |
MODE | MODE LPT1:,10 | *システム デバイスを設定。 |
OPENFILES | OPENFILES /DISCONNECT | プリンタに関する構成情報を構成または表示。 |
PAGEFILECONFIG | CSCRIPT PAGEFILECONFIG.VBS | システムのページング ファイルである仮想メモリの設定を表示および構成。 |
PATH | PATH C:\DOS;C:\WIN;D:\USER; | *実行可能ファイルの検索パスを表示または設定。 |
PRNCNFG | cscript PRNCNFG.vbs -g -s HRServer -p ColorPrinter_2 | プリンタ ドライバを設定(.VBS)。 |
PRNDRVR | cscript PRNDRVR.vbs -a -m “Color Printer Driver 1” -v 3 -e “Windows NT x86” | ローカルまたはリモートのプリントサーバーのプリンタドライバを追加、削除、および一覧表示。 |
PRNJOBS | cscript PRNJOBS.vbs -z -s HRServer -p ColorPrinter -j 27 | 印刷ジョブを一時停止、再開、キャンセル、および一覧表示。 |
PRNMNGR | cscript PRNMNGR.vbs -a -p ColorPrinter_2 -m “Color Printer Driver1” -r lpt1: | プリンタまたはプリンタ接続を追加、削除、および一覧表示。 |
PRNPORT | cscript PRNPORT.vbs -l -s HRServer | 標準 TCP/IP プリンタポートを作成、削除、一覧表示。また、ポートの構成を表示および変更。 |
PRNQCTL | cscript PRNQCTL.vbs -z -s HRServer -p ColorPrinter_2 | テストページの印刷、プリンタの一時停止と再開、およびプリンタ キューの消去。 |
PENTNT | PENTNT -? | MORE | ローカルコンピュータが Pentium プロセッサの浮動小数点除算エラーを検出し報告。 |
PROMPT | PROMPT $P$G | *コマンドプロンプトを変更。 |
REG | REG OPERATION | コンソールレジストリツールを起動。 |
RELOG | RELOG c:\perflogs\daily_trace_log.blg -cf counter_file.txt -o c:\perflogs\reduced_log.csv -t 30 -f csv | パフォーマンスカウンタをパフォーマンスカウンタログから抽出し、TSV 、CSV、BIN、SQL などの形式へ展開。 |
RESET | RESET SESSION1 | セッションをリセット。 |
SC | SC QUERYEX MESSENGER | サービスに関する情報を取得および設定。また、サービスプログラムのテストとデバッグを行う。 |
SET | SET TEMP=C:\WINDOWS\TEMP | 環境変数を表示、設定または削除。 |
SCHTASKS | SCHTASKS /change /tn “Virus Check” /tr C:\VirusCheck.exe | 定期的または特定の時間にコマンドおよびプログラムを実行するようスケジュール。 |
SHUTDOWN | SC START MYSERVICE | ローカル コンピュータまたはリモート コンピュータをシャットダウンまたは再起動。 |
SYSTEMINFO | SYSTEMINFO /S SYS1 /FO LIST | 基本システム構成情報をシステムに照会。 |
TASKKILL | TASKKILL /S SYSTEM /F /IM NOTEPAD.EXE /T | タスクやプロセスを終了。 |
TASKLIST | TASKLIST /SVC | ローカルコンピュータまたはリモートコンピュータで実行中のアプリケーション、サービス、およびプロセス ID (PID) の一覧を表示。 |
TIME | TIME 9:30:30 | *システム時刻を表示または変更。 |
TITLE | TITLE コマンド入力 | *コマンド プロンプト ウィンドウのウインドウ タイトルを設定。 |
TRACERPT | TRACERPT LOG1.ETL LOG2.ETL-O -REPORTREPORT | タイムデータを処理し、生成されたイベントのトレース分析レポートやCSVファイルを生成できるようにする。 |
TYPEPERF | TYPEPERF -QX PHYSICALDISK -O COUNTERS.TXT | 設定されたイベントトレースプロバイダからのイベントトレースログやリアルタイムデータを処理し、生成されたイベントのトレース分析レポートやCSVファイルを生成できるようにする。 |
VERIFY | VERIFY ON | *ファイルがディスクへ正しく書き込まれたかどうかを照合するかどうかをCMD.EXEに指示。 |
WMIC | WMIC /? | Windows Management Instrumentation(WMI)を使用したシステム管理を容易にする。 |
■操作援助用 | ||
COMMAND | COMMAND /P | MS-DOSコマンドインタプリタ(COMMAND.COM)を起動。 |
CMD | CMD /Q /F:OFF | *コマンドインタープリタの新しいインスタンスを開始。 |
DOSKEY | DOSKEY DIRW=DIR /W | *コマンドラインの編集、コマンドの再呼び出しとマクロの作成。 |
DRIVERQUERY | DRIVERQUERY /FO CSV /SI | ドライバとドライバのプロパティの一覧を照会。 |
EVNTCMD | #pragma ADD System “Eventlog” 2147489653 | 構成ファイルの情報に基づいて、イベントからトラップへの変換、トラップ送信先、またはその両方を構成。 |
EVENTCREATE | EVENTCREATE /T ERROR /ID 999 /L APPLICATION /SO WinWord /D “ログ:Winword” | 管理者が指定されたイベント ログにカスタム イベントを作成できるようにする。 |
EVENTQUERY | EVENTQUERY /L SYSTEM | イベントログ中のイベントのプロパティを一覧表示。 |
EVENTTRIGGERS | EVENTTRIGGERS /DELETE /TID 1 /TID 2 /TIDd 4 /TID 6 | ローカル コンピュータまたはリモート コンピュータのイベントトリガを表示および構成します。 |
EXIT | EXIT /B | コマンドインタプリタ(CMD.EXE)またはバッチスクリプトを終了。 |
HELP | HELP ATTRIB | Windowsコマンドのヘルプ情報を提供。 |
HELPCTR | HELPCTR /mode “hcp://CN=Microsoft% | ヘルプとサポート センターを開く。 |
LH、LOADHIGH | LH C:\WORK\TEST.EXE | UMBメモリーへプログラムをロード。 |
NTCMDPROMPT | NTCMDPROMPT | コマンドプロンプト起動後にCMD.EXEを起動 |
NTSD | NTSD -2 | システムデバッガを起動。 |
PERFMON | PERFMON myfile_overview | Windows NT 4.0 のパフォーマンス モニタの設定ファイルを使って構成された Windows XP のパフォーマンス コンソールを開けるようする。 |
START | START TEST.EXE /M | *別のウィンドウを起動して、指定したプログラムまたはコマンドを実行。 |
SUBST | SUBST G: D:\TEST | *パスをドライブ名で置き換える。 |
VER | VER | *Windows のバージョンを表示。 |
■バッチファイル作成用 | ||
CALL | CALL :LABEL %* | *バッチファイル中から、別のバッチファイルの呼び出し。 |
ECHO | ECHO 正常終了しました。 | *メッセージの表示、コマンド エコーのオン、オフを指定。 |
ENDLOCAL | END LOCAL | *バッチファイルでの環境変数のローカライズを終了し、setlocal コマンドを実行する前の設定に復元。 |
FOR | FOR %A IN (*.TXT) DO TYPE %1 | *一連のファイルに対して、指定したコマンドを反復して実行。 |
GOTO | GOTO LOOP(ラベル) | *バッチプログラムの中で、ラベルで識別される行に制御を移す。 |
IF | IF ERRORLEVEL 2 GOTO END | *バッチファイルの中で、条件付き処理を実行。 |
PAUSE | PAUSE | *バッチ プログラムの処理を一時中断し、続行する場合は任意のキーを押すことを求めるメッセージを表示。 |
REM | REM ***入力プログラム*** | *コメント(注釈)をバッチファイルまたは構成ファイルに追加。 |
SETLOCAL | SETLOCAL | *バッチ ファイル内の環境変数のローカライズを開始。 |
SHIFT | SHIFT | *バッチ ファイルでバッチ パラメータの位置を変更。 |
■ネットワーク系
ARP | ARP で使われる IPアドレスを物理アドレスに変換するテーブルを表示および修正。 |
ATMDM | 非同期転送モード (ATM) ネットワークの接続や登録されたアドレスを表示。 |
FINGER | Finger サービスを実行中のユーザー情報を表示。 |
FTP | FTP サーバーサービスを実行中のコンピュータとのファイル転送を可能にする。 |
GETMAC | メディア アクセス制御 (MAC) アドレス、およびネットワーク プロトコルの一覧を取得。 |
GPRESULT | ターゲットユーザーとコンピュータのRSoP(Resultant Set of Policy)を表示。 |
GPUPDATE | グループポリシーの設定を最新の情報に更新。 |
HOSTNAME | ホスト名(フルコンピュータネーム)を表示。 |
IPCONFIG | 現在の TCP/IP ネットワーク構成を表示。 |
IPROUTE | NWLink IPXルーティングおよびソースルーティングに関する情報を表示または変更。 |
IPSECCMD | ディレクトリ サービス、またはローカル レジストリかリモート レジストリで、IPSec (インターネット プロトコル セキュリティ) ポリシーを構成。 |
LPQ | リモート LPDキューの状態を表示。 |
NETSTAT | プロトコルの統計情報と現在の TCP/IP ネットワーク接続を表示。 |
■NETコマンド | |
NET ACCOUNTS | ユーザーアカウントに対するログオンやパスワードの要件の表示/設定。 |
NET COMPUTER | コンピュータアカウントをドメインへ登録または解除。 |
NET CONFIG | サーバサービス(リソース公開サービス)やワークステーションサービス(リソース利用サービス)に関する情報を表示または設定。 |
NET CONTINUE | サービスの再開。 |
NET FILE | 使用されているファイルの一覧の表示および強制終了。(net shareで公開したリソースの、どのファイルが実際に他のコンピュータで利用されているかを表。) |
NET GROUP | ローカルコンピュータまたはドメインコントローラ上に登録されているグループアカウントの情報を表示/設定。 |
NET HELP | 各コマンドの使い方を表示。 |
net hekpmsg | Windowsのエラー番号に対する詳しいエラーメッセージを表示。 |
NET LOCALGROUP | ローカルグループアカウントに関する情報を表示または設定。 |
NET NAME | NetBIOS名を表示または追加。(新規に追加された名前はnet sendコマンドの宛先として利用可能。) |
NET PAUSE | サービスを一時停止。 |
NET PRINT | 共有プリンタの情報や印刷キューの情報を表示および設定。 |
NET SEND | 指定されたユーザーやコンピュータにメッセージを送信。 |
NET SESSION | ローカルコンピュータに接続しているクライアントの一覧情報などを表示または強制終了。 |
NET SHARE | 共有リソースの公開および公開停止。(ローカルのリソースを公開し、他のコンピュータでnet use可能にする。) |
NET START | サービスを表示または開始。 |
NET STATISTICS | ネットワークプロトコルやリソースの公開および共有サービスに対する統計情報を表示。 |
NET STOP | サービスを停止。 |
NET TIME | 時間情報の表示や外部との同期。(コンピュータの時計をサーバーの時刻に合わせる。) |
NET USE | 共有リソースの使用および解除。(net shareされたネットワーク上のリソースをローカルで使用。) |
NET USER | ローカルコンピュータまたはドメインコントローラ上に登録されているユーザーアカウントの情報を表示および設定。 |
NET VIEW | 共有リソースを提供しているコンピュータまたは特定のコンピュータが提供するリソースの一覧を表示。 |
NETSH | NetShell ユーティリティを起動。 |
NSLOOKUP | ネットワークサーバーの情報を取得。 |
PATHPING | ping コマンドと tracert コマンドの機能に加え、独自の追加情報を提供するルートトレーシングツール。 |
PING | リモートコンピュータへの接続を検査。 |
PROXYCFG | WinHTTP プロキシ設定ツールを始動。 |
RCP | RCPサービスを実行中のコンピューターに(から)ファイルをコピー。 |
REXEC | REXEC サービスを実行中のリモートホストでコマンドを実行。 |
ROUTE | ネットワークルーティングテーブルを処理。 |
RSH | RSHサービスを実行中のリモートホストでコマンドを実行。 |
RUNAS | 現在のログオンユーザーとは異なるアクセス権限で、特定のツールやプログラムを実行。 |
TCMSETUP | テレフォニークライアントをセットアップ。 |
TFTP | TFTPサービスを実行中のリモートコンピュータに(から)ファイルを転送。 |
TRACERT | ネットワークの経路を調査。 |
いじょうー!皆様のエンジニアスキルの向上に貢献できましたら幸いです。