Windows のコマンドプロンプト(cmd)でディレクトリに対して for を使う方法

顧客対応の関係で、複数の Java プログラムをチェックする必要がありました。

環境が Windows だったので、バッチ(bat)ファイルをコマンドプロンプト(cmd)で実行しようと思ったのですが、パッケージ指定が必要になったときに for を使ったディレクトリ指定の方法がすぐわからなかったので、メモしておきます。

最終的に作ったプログラムは次の通りです。

[code lang=’shell’] @echo off

path C:¥Java環境へのパス¥bin;%path%
cd 実行用パスのルート

for /D %%D in (*.*) do (
echo ==== %%D ====
for %%F in (%%D¥*.class) do (
java %%D.%%‾nF 引数
その他のチェック
)
)

@pause;
[/code]

ポイントは3つあります。

「for」で「/D」オプションを使っていること。
ファイル名指定に「‾n」を使っていること。
パッケージ名付きで Java クラスファイルを指定していること。

目次

「for」の「/D」オプション

まず、バッチファイル中での for の動作でディレクトリを含めるためには、
「/D」オプションの指定が必要です。

この指定を行わないと、ファイル一覧に対して繰り返し処理を行ってしまいます。

ファイル名指定で「‾n」

繰り返し中、「%%F」を使うことでファイル名を指定できます。
しかし、「%%F」の表記の場合、拡張子を含めてしまいます。

そこで、「%%‾nF」と表記することで、拡張子無しのファイル名を指定するようにしています。

パッケージ名付きで Java クラスファイルを指定

Java クラスファイルをコマンドラインで実行する場合には、実行パスのルートから見て「パッケージ名.クラス名」と指定しなければいけません。

ディレクトリ=パッケージ名なので、外側の for でディレクトリを、内側の for でクラスファイルを、繰り返しています。

「%%D.%%‾nF」で「java」の引数としているわけですね。

まとめ

ちょっとした繰り返しぐらいなら、バッチファイルでも色々書くことができますね。

書いているとき、DOS の頃は Windows と 通常の環境の切り替えをバッチファイルで行っていたのを思い出し、なかなか懐かしかったです。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す