コマンドプロンプト



ファイルコピー

cp [コピー元] [コピー先]

ディレクトリ階層だけコピー

xcopy /T /E [コピー元] [コピー先]

サブディレクトリのファイルも含めてコピー

xcopy [コピー元] [コピー先] /E /Y

ディレクトリ作成

mkdir [ファイルパス]

繰り返し処理

FOR /L %変数 IN (開始,ステップ,終了) DO コマンド [コマンド パラメーター]

注釈

セットは、ステップの量ごとに変化する開始から終了までの数列です。 たとえば、(1,1,5) は 1 2 3 4 5、(5,-1,1) は (5 4 3 2 1) という数列になります。


例) abc1,abc2,abc3,...abc10までのフォルダを作成したい場合は
for /L %%i in (1,1,10) do (
  mkdir abc%%i
)

ファイルを一行ずつ処理

FOR /f "delims=" %%変数 in (ファイル名) do (
  処理(ファイルから読み込んだ文字列は「%%変数」にて使用可能)
)

注釈

delimsには区切り文字を指定。一行まるまる読み込む場合は”delims=”(指定無し)



ファイル・フォルダ削除

フォルダに移動してから実行。サブフォルダも対象。

正規表現を使用してフォルダ削除

for /R %i in (フォルダ名【正規表現可能】) do rd /Q /S "%i"

正規表現を使用してファイル削除

for /R %i in (ファイル名【正規表現可能】) do del /Q /S "%i"

サブディレクトリを含めてまるっと削除

del /s /q /f パス
for /D %%f in ( * ) do rd /s /q "%%f"

※del
  • /s : サブディレクトリを含める
  • /q : 確認しない
  • /f : 読み取りファイルも強制削除

※for
  • /D : ()の中にワイルドカードが使われているときは、ディレクトリ名だけにヒットする
  • %%f : 変数名

※rd
  • /s : 指定したフォルダ自体とそこに含まれるサブディレクトリやファイルをすべて削除する
  • /q : 確認メッセージを表示しない


PCに登録しているファイルサーバーの権限を確認

net use

権限を削除する場合
net use \\xxx.xx.xx.xxx /delete

環境変数確認

特定のものを確認

echo %PATH%

全ての設定を確認

set

再起動

リモートデスクトップで接続している端末を再起動する場合
shutdown -r -m \\NJKWxx -t 0

なお、各オプションの意味は下記の通り
  • -r ... 再起動
  • -m ... リモート作業時のコンピュータを指定
  • -t ... シャットダウンまでの時間を指定

警告

対象サーバのOSがWindowsServer2003もしくは、WindowsXPの場合、リモート接続にてスタートメニューから再起動を行うと、MSから過去にリリースされたパッチの影響で、リモート接続が出来なくなります。


フォルダ構成

tree表示
tree

注釈

オプションに『/f』をつけるとファイル名も表示される


IPアドレスの確認

nslookup -?

使用法

nslookup [-opt ...]                  # 既定のサーバーを使用する対話モード
nslookup [-opt ...] - サーバー       # 'サーバー' を使用する対話モード
nslookup [-opt ...] ホスト           # 既定のサーバーを使用して
                                       'ホスト' を検索
nslookup [-opt ...] ホスト サーバー  # 'サーバー' を使用して 'ホスト' を検索

Jarファイルに格納されているファイルの閲覧

JAR ファイル pack.jar に圧縮されているファイルの一覧は、次のコマンドを発行することで取得できる。

jar tf pack.jar

フォルダ内のファイル一覧を表示する

dir *.jar /B /S
*.jar は指定なくてもいい。

オプション説明
  • /B : ファイル名のみ出力
  • /S : サブディレクトリを含めて表示

ファイルやコマンドの場所を検索

where <<実行コマンドなど>>
コマンドの実行したときにどこの、何のファイルが場所を探すことが出来る。

例)
C:\BL\DML08\20130917_hon>where find
c:\java\gnuwin32\bin\find.exe
c:\Windows\System32\find.exe
c:\cygwin\bin\find.exe

ネットワーク上でファイルを実行

ネットワーク上でファイルを実行しようとすると、
「CMD では UNC パスは現在のディレクトリとしてサポートされません」と表示され、エラーになる。
そのため、ほかのコンピュータ上のディレクトリに「cd」するには、あらかじめネットワークドライブを割り当てておかなければなる。

ネットワーク割り当てコマンド
pushd \\computer1\project1\program1
自動的にネットワークドライブが割り当てられ、そのディレクトリに移動する。

当該ディレクトリで作業後、次のコマンドを入力すると、ネットワークドライブが解除され、元のディレクトリに戻る。
popd
なお、認証を行うには、たとえば次のように入力して認証のダイアログボックスを表示し、ユーザー名とパスワードを入力してください。

start \\computer1\project1\program1


ネットワーク上のバッチを実行する場合は、下記ではさめばOK!
rem 相対パスを取得して一時ディレクトリへ割り当て
PUSHD %~dp0

rem 上の処理を無効化
POPD
  • %~dp0 : ツールが配置されている相対パスを取得


通信状態を確認する

netstat

注釈

オプション無しで実行可能。


例)
netstat -n 1  // 1秒おきに表示

実行結果について

../_images/netstat.gif

netstat実行結果詳細
状態 頻度 意味
CLOSED 未使用状態のTCPポート。通常これが表示されることはない
LISTENING 待ち受け状態(リッスン状態)のポート。netstatに-aオプションを付けると表示される
SYN_SENT サーバに対して、通信開始の要求(SYN:Synchronize)を送信したが、まだそれに対する応答(ACK:Acknowledgement)を受け取っていない状態。相手が無応答のときもこの状態になる。ACKを受け取るとESTABLISHEDへ遷移する
SYN_RECEIVED クライアントからSYN要求を受け取った直後の状態。SYNに対するACKを送信するとESTABLISHEDへ遷移する
ESTABLISHED TCPコネクションが確立して通信している状態。netstatでは最もよく見る状態。どちらかが終了処理を始めると、FIN_WAIT_1もしくはCLOSE_WAITへ遷移する
FIN_WAIT_1 自分の側からFINを送信した状態。そのFINに対するACKを相手から受信すると、FIN_WAIT_2へ遷移するが、先に相手からのFINを受けるとCLOSINGへ遷移する
FIN_WAIT_2 FINに対するACKを受信した状態。相手からのFINを受信して、それに対するACKを返すと、TIME_WAITへ遷移する
CLOSE_WAIT 相手からのFINを受け取った状態。アプリケーションが終了すると、FINを送信してからLAST_ACKへ遷移する
CLOSING FINに対する相手からのACKを受けるとTIME_WAITへ遷移する
LAST_ACK 送信したFINに対するACK待ち状態。ACKを受け取るとCLOSEDへ遷移して終了する
TIME_WAIT コネクションの終了待ち状態。しばらく待ったあと、CLOSEDへ遷移して終了する