Windows DOSコマンド、バッチファイル(.bat)サンプル、コマンドプロンプト
Windows DOSコマンド、バッチファイル(.bat)、バッチ処理のサンプル。
フォルダ操作・ディレクトリ操作
DIR・フォルダ表示。
- dir
CD・フォルダ移動。
- sampleフォルダに移動
cd sample - 一つ上のフォルダに移動
cd ../ - c:\sample\abcに移動
cd c:\sample\abc
MD・フォルダ作成。
- sampleディレクトリ作成
md sample
カレントディレクトリを表示。
- 単にcdと打つ(Linux/Unixでいうpwd)
cd - カレントディレクトリは変数 %cd% に入っている
echo %cd%
ファイル操作
COPY・ファイルのコピー。
- sample.txtを、homepageフォルダにコピー
copy sample.txt homepage - sample.txtをフロッピーにコピー
copy sample.txt A:\
MOVE・ファイルの移動。
- 拡張子が.txtのファイルを、sampleフォルダに移動
move C:\web\test\*.txt C:\site\sample - sample.txtをフロッピーにコピー
move sample.txt A:\
DEL・削除。
- sample.txtを削除
del sample.txt - sampleフォルダ削除
del sample
ワイルドカード
- 拡張子が.txtのファイルを全てc:\sample\abcにコピー
copy *.txt c:\sample\abc
ネットワーク
ipconfig・ネットワーク情報。
- 現在の自分のマシンのIPアドレス表示
ipconfig - ipconfigのオプション表示
ipconfig / - IPアドレスを再取得
ipconfig /renew - 現在の自分のマシンのIPアドレス表示
ipconfig - WindowsのDNSキャッシュ情報確認
ipconfig /displaydns - WindowsのDNSキャッシュ情報リセット
ipconfig /flushdns
nslookup・DNS情報。
- 自分のコンピュータに設定されたDNSサーバで情報取得
nslookup www.example.com. - 任意のDNSサーバを指定して情報取得
nslookup www.example.com. DNSサーバアドレス
ping。 サーバーの応答確認。 通常5回実行される。 継続して実行するには「-t」を付ける。 処理を中断したい場合は「Ctrl」+「C」。
- ping example.com.
- ping -t example.com.
tracert。 通信経路情報。 Linuxなどの場合は tracerouteコマンド。
- tracert www.example.com
EXEファイルの実行
- カレントディレクトリまたはパスが通っている場所にあるexample.exeを実行
example - comment.txtをexample.exeで処理
example comment.txt
強制終了
- 処理を強制的に中断したい場合
Ctrl + C
を押す。
コマンド操作
長いコマンドを入力するのが面倒な場合は、コピー&ペーストを利用すると良い。 コマンドプロンプトで右クリックすると「貼り付け」という項目がある。 テキストエディタなどに書かれたコマンドをコピーし、コマンドプロンプト上に貼り付けることができる。
コマンドプロンプト上の文字列をコピーしたい場合は、まず右クリックし「範囲指定」を選択する。 その後、コピーしたい文字列の先頭をクリックしたあと文字列の末尾までドラッグする(反転表示される)。 範囲選択後、Enterキーを押すとコピーが実行される。 コマンドプロンプト上で右クリック後「貼り付け」をすれば、コピーした文字列を貼り付けられる。 クリップボードにコピーされているので、他のアプリケーション上に貼り付けることもできる。
過去に入力したコマンドは、「↑(上)」キーで表示できる。
バッチファイル、バッチ処理のサンプル
バッチファイルを使うと複数のDOSコマンドを連続して実行できる。 例えば、example.batというファイルを作り、そのファイルに
copy *.html c:\www
と書き、example.batをダブルクリックして実行する。 その結果、カレントディレクトリにある拡張子がhtmlの全てのファイルがc:\wwwにコピされる。
ファイル連結のサンプル
renketsu.bat
@echo off echo -------------------------------------------------------- echo 1. renketsu.batと連結するファイルを同一フォルダに置く。 echo 2. 1.txt内に各ファイルを連結する。 echo ログファイルとかの連結に使う。 echo 3. 1.txtの1行目はいらないので削除する echo -------------------------------------------------------- echo ----- ファイルを連結して、1.txtにまとめますか? ----- PAUSE CD > 1.txt echo ----- ファイル連結開始 ----- FOR %%B IN (*.log *.csv) DO copy /A 1.txt + %%B 1.txt echo ----- ファイル連結完了 ----- echo ----- 作業完了しました ----- PAUSE
exeファイルの実行
javac.bat
※javacにパスが通っている場合
@echo off echo パスが通っていれば、バッチファイルと同じディレクトリにないexeも実行可能 echo Javaコンパイラjavacでfile.javaをコンパイルした後、 echo コンパイルされたjava.classを実行。 javac file.java java file PAUSE
exeファイルの実行~ファイルの連続処理
testtest.bat
*ディレクトリ構成は、以下の通り ┣ testtest.bat ┣ testtest.exe ┣ yasu_oldフォルダ(処理対象のファイルを置く) ┗ yasu_newフォルダ(処理後のファイルがコピーされる)
@echo off echo / echo / PMD/MMF/PNG/KJXにCRCを付加するバッチファイル echo / echo -------------------------------------------------------- echo 1. testtest.bat/testtest.exeは同一フォルダに置く。 echo 2. 変換したいファイルをyasu_oldフォルダに置く。 echo 3. test.batをダブルクリック。 echo 4. yasu_newフォルダが存在すると、その中のファイルを echo 削除するか聞いてくる。 echo 前回変換したファイルを消すために、 echo 通常は「y」を入力し、削除する。 echo 5. yasu_newフォルダにファイルがコピーされる。 echo 6. そのファイルにCRCが付加され、完成。 echo -------------------------------------------------------- echo ----- yasu_newフォルダ内ファイルの削除しますか? ----- DEL yasu_new echo ----- yasu_newフォルダにコピー開始 ----- MD yasu_new LFNFOR OFF FOR %%A IN (yasu_old\*.pmd yasu_old\*.mmf yasu_old\*.png yasu_old\*.kjx) DO copy %%A yasu_new echo ----- newフォルダにコピー終了 ----- echo ----- CRC付加開始 ----- FOR %%A IN (yasu_new\*.pmd yasu_new\*.mmf yasu_new\*.png yasu_new\*.kjx) DO testtest %%A echo ----- CRC付加完了 ----- echo ----- 作業完了しました ----- PAUSE
バッチファイルにファイルをドロップして実行(サンプル1)
処理したいファイルをバッチファイルにドロップしてバッチファイルを実行できる。 ダブルクリックでも実行できるように制御文を書く。 ダブルクリックの場合、perl txt2html.pl fn= を実行。 ファイルドロップの場合、perl txt2html.pl fn=%1 を実行し、ドロップしたファイルだけ処理させる。 Perlのプログラムにドロップしたファイル名を渡して実行する。
@ECHO OFF IF EXIST %1 GOTO FILEDROP ECHO perl txt2html.pl を実行中。 perl txt2html.pl fn= GOTO EXIT :FILEDROP ECHO ファイルがドロップされました。 CD C:\sitebuild\biglobe\memo\bat perl txt2html.pl fn=%1 GOTO EXIT :EXIT PAUSE
バッチファイルにファイルをドロップして実行(サンプル2)
ダブルクリックの場合、全てのJavaファイルをコンパイル。 ファイルドロップの場合、ドロップしたJavaファイルだけコンパイル。
@ECHO OFF IF EXIST %1 GOTO FILEDROP ECHO perl build.pl を実行中。 perl build.pl fn=*.java GOTO EXIT :FILEDROP ECHO ファイルがドロップされました。 javac -classpath C:\test\WEB-INF\src;C:\test\servlet\servlet.jar;C:\test\servlet\mail.jar;C:\test\servlet\activation.jar %1 GOTO EXIT :EXIT PAUSE