[前の記事]« forでのファイル読み込み処理がうまく動かない
[次の記事]「イベントログの各行のデータを変数に割り当ててコマンドを実行」をテキストファイルの行数分繰り返したい »

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

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

文字列の指定位置から指定の長さを読み取るには

1564.
文字列からのデータ取得について
2007年01月04日(木) 19時26分
新人SE
バッチ処理で可能であれば、是非教えて下さい。

WIN2Kを使用しています。
A.TXT(1行)の3,4の数値を文字列として取得し、
B.TXT(複数行)の1,4の数値(文字列)を読んで、
その値があれば5,4の数値(文字列)をC.TXTに出力したいのですが、
A.TXTの取得すら出来ません。

A.TXT
33000144444

B.TXT
00011001
00021020
00031300

A.TXTから「0001」を取得し、
B.TXTに送って「1001」を取得し、
C.TXTに書き出すという意味になります。
1571.
Re:文字列からのデータ取得について
2007年01月05日(金) 11時31分
YanaKen◆c0rnJ1Q=
>WIN2Kを使用しています。
>A.TXT(1行)の3,4の数値を文字列として取得し、
 「3,4」とかの数字の意味がわかりませんが、あとの記述から推すと「3番目から4つぶん(長さ)の文字」ということでしょうか。

>A.TXTの取得すら出来ません。
>
>A.TXT
>33000144444

 とりあえず「1行だけからなるa.txtの最終行(=1行目)の文字列の3文字目から4文字分を取り出す」という例で考えると、

@echo off
for /f %%a in (a.txt) do set chkstr=%%a
set chkstr=%chkstr:~2,4%
echo result is %chkstr%

 ……のようになると思います。

>B.TXTに送って「1001」を取得し、
 「送って」というのもよくわからない表現ですが、上記で抽出した4桁の文字列(実例としては「0001」)と同じ番号が書いてある行を探し、その5文字目以降4文字分を抽出してファイルに書き出す、ということみたいですね。

 上で紹介した環境変数文字列の「部分参照」の方法を、その先でも応用するかたちになると思います。

YanaKen

1576.
Re:文字列からのデータ取得について
2007年01月05日(金) 16時26分
新人SE
YanaKen様

丁寧なご説明、ありがとうございました。
合わせて、つたない説明の意味を読み取って頂き、感謝しております。
これを足掛かりにファイルを作成させて頂きます。

また不明な点がありましたら質問させて頂きますので、
その際は是非お知恵をお貸し下さい。

ありがとうございました。

 
 


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

 




カテゴリー一覧

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


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

資料書籍

About

2007年01月04日 22:54に投稿されたエントリーのページです。

ひとつ前の投稿は「forでのファイル読み込み処理がうまく動かない」です。

次の投稿は「「イベントログの各行のデータを変数に割り当ててコマンドを実行」をテキストファイルの行数分繰り返したい」です。

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

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