[前の記事]« [WIN2000S]フルパスでのファイルリストの取得
[次の記事]入力ファイル名(フルパス)のファイル名本体部分のみを取り出すには »

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

▲カテゴリー「FOR /F」索引へ
▲カテゴリー「SET, PATH, %環境変数%」索引へ

[NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない

350.
教えてください。for文
2004年03月22日(月) 01時05分
yaya
初めまして、yayaと申します。
for文にてdelimsを使って、文字列以降の数字
(TEST00140だと140)を環境変数にsetしたいのですが
以下の文ですと14がsetされてしまいます。

for /F "delims=TEST00 " %%i in (test.txt) do (set GENAUTO=%%i)

test.txt内には TEST00140 のみ記載されてます。
上記を実行するとGENAUTOという環境変数に14がsetされて
しまいます。

140をsetしたいのですが、どのようにすればよろしいので
しょうか?
141などであれば、問題なくsetされるのですが1の位が0だと
ダメなようです。

どうか教えて下さい。

よろしくお願いします。
352.
Re:教えてください。for文
2004年03月22日(月) 02時15分
oo
>初めまして、yayaと申します。
>for文にてdelimsを使って、文字列以降の数字
>(TEST00140だと140)を環境変数にsetしたいのですが
>以下の文ですと14がsetされてしまいます。

>for /F "delims=TEST00 " %%i in (test.txt) do (set GENAUTO=%%i)

>test.txt内には TEST00140 のみ記載されてます。
>上記を実行するとGENAUTOという環境変数に14がsetされて
>しまいます。

>140をsetしたいのですが、どのようにすればよろしいので
>しょうか?
>141などであれば、問題なくsetされるのですが1の位が0だと
>ダメなようです。

>どうか教えて下さい。

>よろしくお願いします。

delims= で有効なのは、1文字の併記です。つまり、delims=TEST00 は、
T または E または S または T または 0 という1文字がデリミタとなります。"の直前にタブもあるようなので、タブもデリミタになります。
環境変数の文字列置換や、部分文字列切り出し機能を使うのがいいでしょう。詳しくは、set /?

>for /F "delims=TEST00 " %%i in (test.txt) do (set GENAUTO=%%i)
ということは、test.txt は 1行なのでしょうか?それなら、
set /p GENAUTO=<test.file
set GENAUTO=%GENAUTO:TEST00=%
353.
Re2:教えてください。for文
2004年03月22日(月) 02時35分
yaya
>delims= で有効なのは、1文字の併記です。つまり、delims=TEST00 は、
>T または E または S または T または 0 という1文字がデリミタとなります。"の直前にタブもあるようなので、タブもデリミタになります。
>環境変数の文字列置換や、部分文字列切り出し機能を使うのがいいでしょう。詳しくは、set /?

>>for /F "delims=TEST00 " %%i in (test.txt) do (set GENAUTO=%%i)
>ということは、test.txt は 1行なのでしょうか?それなら、
>set /p GENAUTO=<test.file
>set GENAUTO=%GENAUTO:TEST00=%

はい、test.txtは1行です。
早速試してみました。
うまくいきました。
夜中なのに家で一人でうなってしまいました^^
すぐにお答えいただきありがとうございました。
大変助かりました。
 
 
 


カテゴリー「FOR /F」索引へ
カテゴリー「SET, PATH, %環境変数%」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2004年03月22日 10:51に投稿されたエントリーのページです。

ひとつ前の投稿は「[WIN2000S]フルパスでのファイルリストの取得」です。

次の投稿は「入力ファイル名(フルパス)のファイル名本体部分のみを取り出すには」です。

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

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