[前の記事]« テキストファイル内の文字列置換
[次の記事][NT系]環境変数の中身がFORコマンド内でECHOされない »

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

▲カテゴリー「FOR .. IN ( ) DO..」索引へ

for /f の eol=のデフォルト値をクリアするには

331.
for /f の eol=
2005年03月11日(金) 00時35分
otn
Win2000,WinXP
for /f の eol= パラメーターって、デフォルトで空だと思い込んでいましたが、; なんですね。いまさらのように気づきました。
で、これを空にするのが難しい。デリミタが空で無いときはデリミタと同じ文字を指定すれば実質的に無効になりますが。

さて問題です。delims= と eol= の両方を空にするにはどうしたらいいでしょうか?
336.
Re:for /f の eol=
2005年03月14日(月) 17時10分
otn
>Win2000,WinXP
>for /f の eol= パラメーターって、デフォルトで空だと思い込んでいましたが、; なんですね。いまさらのように気づきました。
>で、これを空にするのが難しい。デリミタが空で無いときはデリミタと同じ文字を指定すれば実質的に無効になりますが。

>さて問題です。delims= と eol= の両方を空にするにはどうしたらいいでしょうか?

ヒント編:

for /f "eol= delims=" だと、eol文字が空白になって、空白で始まる行が無視されます。
for /f "delims= eol=" だと、eol文字が " になって、" で始まる行が無視されます。

ということから、順序は delims,eolの順で、" を使わなければ良いのでは?ということになります。
337.
Re2:for /f の eol=
2005年03月15日(火) 18時07分
otn
>>Win2000,WinXP
>>for /f の eol= パラメーターって、デフォルトで空だと思い込んでいましたが、; なんですね。いまさらのように気づきました。
>>で、これを空にするのが難しい。デリミタが空で無いときはデリミタと同じ文字を指定すれば実質的に無効になりますが。
>>
>>さて問題です。delims= と eol= の両方を空にするにはどうしたらいいでしょうか?

>ヒント編:

>for /f "eol= delims=" だと、eol文字が空白になって、空白で始まる行が無視されます。
>for /f "delims= eol=" だと、eol文字が " になって、" で始まる行が無視されます。

>ということから、順序は delims,eolの順で、" を使わなければ良いのでは?ということになります。

回答編:
オプション指定を " " で囲むのをやめ、特殊文字を個別に ^ でクォートします。

for /f delims^=^ eol^=

ファイルを出来るだけそのまま(空行は無理ですが)読みたいときには、delimsもeolも空にしたいけど、こういう風に書かなければならないとは、ちょっと、トホホな仕様です。
 
 


カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2005年03月11日 12:26に投稿されたエントリーのページです。

ひとつ前の投稿は「テキストファイル内の文字列置換」です。

次の投稿は「[NT系]環境変数の中身がFORコマンド内でECHOされない」です。

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

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