フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年07月29日
17:05
【88】  for文のtokensについて
初めまして。
過去ログをいつも参考にさせて頂いてます。

初歩的な質問なのですが、
for文のtokunsについてご教授お願いします。

現在、for文を使用してタブ区切りのテキストファイルを読込む
batファイルを作成中です。

35項目目をLOGファイルに出力したいのですがうまくいきません。
「tokens=35」の値を1~31にするとしっかりとその項目が取得できるのですが、
32以上の数値を指定すると値が取得できません。

tokensに指定できる値は31までなのでしょうか?
もしそうだとしたら、何か回避策のようなものは存在するのでしょうか?
ご存知の方いらっしゃいましたらアドバイスお願いします。

以下にOSとbatファイルの抜粋内容を記載させて頂きます。


OS:Windows2000 または XP
------------------------------------------------------
FOR /F "tokens=35 delims=<TAB>" %%A IN (%INTERFACE_FILE%) DO call :sub "%%A"

EXIT 0

:sub
SET LINE_DATA=%~1
echo %date% %time% 各行読込み :%LINE_DATA%>> %LOG%

-----------------------------------------------------
※実際<TAB>は、普通にTabキーで入力されたものが入っています。
コメント
2008年07月29日
19:31
tokensの指定値の上限等はよく分かりませんが
回避策として、以下のような感じにしてみてはどうでしょう?
31以降を一度変数にセットして、それをさらに処理します。
-------------------------------------------------------
@echo off
for /f "tokens=30* delims=<TAB>" %%a in (test.txt) do (
for /f "tokens=5 delims=<TAB>" %%c in ('echo %%b') do echo %%c
)
-------------------------------------------------------
すべて表示 1番~1番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----