Windows DOSコマンド、バッチファイル(.bat)サンプル、コマンドプロンプト
更新:
Windows DOSコマンド、バッチファイル(.bat)、バッチ処理のサンプル。
対象 : Windows 10/8.1/7/Vista/XP
フォルダ操作・ディレクトリ操作
- DIR・フォルダ表示
-
CD・フォルダ移動
- sampleフォルダに移動
cd sample
- 一つ上のフォルダに移動
cd ../
- c:\sample\abcに移動
cd c:\sample\abc
- MD・フォルダ作成
- カレントディレクトリを表示
- 単に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
- サーバの応答確認
ping www.example.com.
- tracert
- 通信経路情報
tracert www.example.com
-
Linuxなどの場合は tracerouteコマンド。
- telnet
telnetについては
Windows TELNET、SMTPコマンド・POPコマンド、POP before SMTP
をご覧下さい。
EXEファイルの実行
- カレントディレクトリまたはパスが通っている場所にあるsample.exeを実行
sample
- comment.txtをsample.exeで処理
sample comment.txt
強制終了
- 処理を強制的に中断したい場合
Ctrl + C
を押す。
コマンド操作
- 長いコマンドを入力するのが面倒な場合は、コピー&ペーストを利用すると良い。
コマンドプロンプトで右クリックすると「貼り付け」という項目がある。
テキストエディタなどに書かれたコマンドをコピーし、コマンドプロンプト上に貼り付けることができる。
- コマンドプロンプト上の文字列をコピーしたい場合は、まず右クリックし「範囲指定」を選択する。
その後、コピーしたい文字列の先頭をクリックしたあと文字列の末尾までドラッグする(反転表示される)。
範囲選択後、Enterキーを押すとコピーが実行される。
コマンドプロンプト上で右クリック後「貼り付け」をすれば、コピーした文字列を貼り付けられる。
クリップボードにコピーされているので、他のアプリケーション上に貼り付けることもできる。
- 過去に入力したコマンドは、「↑(上)」キーで表示できる。
バッチファイル、バッチ処理のサンプル
- バッチ処理
バッチファイルを使うと、複数のDOSコマンドを連続して実行できます。
例えば、sample.batというファイルを作り、そのファイルに
copy *.html c:\www
と書き、sample.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