[前の記事]« 発言No.「9999」まで保持できるように設定しました
[次の記事]毎月、前月に作成されたファイルを別の場所に移動したい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「バッチファイルの文法と環境変数」索引へ

バッチファイルの引数のセパレータ文字種

976.
バッチファイルの引数について
2006年01月25日(水) 21時21分
こぶん
●DOS/Windowsのバージョン↓
Microsoft Windows XP [Version 5.1.2600]

なんとなくバッチファイルを動かしていてびっくりしたことがあったので質問いたします。
a.bat abc def
として実行すると引数は順に 0:a.bat 1:abc 2:def となりますが
a.bat ab;c d;ef と実行すると
0:a.bat 1:ab 2:c 3:d 4:ef と2つの引数を指定したつもりなのに4つの引数に分解されてしまいました。
なお a.bat "ab;c" "d;ef" とすると 0:a.bat 1:"a;bc" 2:"d;ef" のようになります。

この引数セパレータとして「;」が使用されているのはWindowsシリーズで共通の動作なのでしょうか?
978.
Re:バッチファイルの引数について
2006年01月27日(金) 17時31分
otn
>●DOS/Windowsのバージョン↓
>Microsoft Windows XP [Version 5.1.2600]
>
>なんとなくバッチファイルを動かしていてびっくりしたことがあったので質問いたします。
。。。
>この引数セパレータとして「;」が使用されているのはWindowsシリーズで共通の動作なのでしょうか?

私のページになりますが、
http://d.hatena.ne.jp/otn/20040308/p1

http://it-is-it.net/CMD/ の「全般/構文解析」を参照。
2000、XP以外はあまり調べてませんが、多分同じでしょう。

今、2000のcommand.comのdir call を調べたら同じでした。
Windows以前の純DOSではどうだったのか?探せばDOS6.2のFDがあるはずなんですが。

こぶんさん、興味がおありなら「全般/構文解析」のあら捜しでもいかがでしょうか? 
979.
Re:バッチファイルの引数について
2006年01月27日(金) 23時21分
こぶん
>http://it-is-it.net/CMD/ の「全般/構文解析」を参照。

素晴らしい、よくまとまっていますね。
=,; は、cmd.exe、command.comにとっての空白文字なのですか。一つのフレーズとして認識して欲しいものはクオートする癖をつけたほうが良さそうですね。
OSに付属するヘルプ探しても、記述がないですよね。どうしてこうMSは隠すor文書化してくれないんでしょうかね…困りものです。

>2000、XP以外はあまり調べてませんが、多分同じでしょう。
WinME、98SEあたりでも同じ動作をするのであれば仕様なんでしょうね。

>こぶんさん、興味がおありなら「全般/構文解析」のあら捜しでもいかがでしょうか? 

いやはや、これの記述ミスやら記載漏れといったものを探すのは大変そうです。また何かあれっ?と思うような動作等をした場合に参照してみて、もし記載がなかったりしたら書き加えるなどさせて頂きます。

ありがとうございました
980.
Re:バッチファイルの引数について
2006年01月28日(土) 09時44分
otn
otnです。
>>http://it-is-it.net/CMD/ の「全般/構文解析」を参照。
>
>素晴らしい、よくまとまっていますね。
ありがとうございます。

>=,; は、cmd.exe、command.comにとっての空白文字なのですか。一つのフレーズとして認識して欲しいものはクオートする癖をつけたほうが良さそうですね。

構文解析時にも場所によりけり(例:if の == )だし、コマンド実行時にはまた別の解釈(例:title ;;;;@;;;;)だし、unixのshみたいには行きません。shのようにプログラムに渡す時に" "をはずしてくれないし。

>OSに付属するヘルプ探しても、記述がないですよね。どうしてこうMSは隠すor文書化してくれないんでしょうかね…困りものです。

動作を変えても仕様変更にならないからか(笑)。

>>こぶんさん、興味がおありなら「全般/構文解析」のあら捜しでもいかがでしょうか? 
>
>いやはや、これの記述ミスやら記載漏れといったものを探すのは大変そうです。また何かあれっ?と思うような動作等をした場合に参照してみて、もし記載がなかったりしたら書き加えるなどさせて頂きます。

なかなか100%の検証は困難というか、個人のアマチュアでは無理なのですが、90%くらいの検証で100%のように言い切って書いているので、レアケースでの例外はおそらくあると思います。
なお、Wikiですが、書き込みはガードしているので、何かあればコメントページにお願いします。
 
 


カテゴリー「バッチファイルの文法と環境変数」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2006年01月25日 15:32に投稿されたエントリーのページです。

ひとつ前の投稿は「発言No.「9999」まで保持できるように設定しました」です。

次の投稿は「毎月、前月に作成されたファイルを別の場所に移動したい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート