MEMORVA

Windows DOSコマンド、バッチファイル(.bat)サンプル、コマンドプロンプト

更新:2022-03-31

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