[前の記事]« 指定されたパス名が"で囲まれている場合のFORでの処理方法
[次の記事][NT系]1年以上アクセスされていないファイルを一括削除したい »

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

▲カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

ファイル内の特定のキーワードから指定文字数分を別ファイルに書き出したい

356.
ファイル内の特定のキーワードより指定文字数分を別ファイルへ書き出す
2005年03月30日(水) 13時18分
プロレタ
●DOS/Windowsのバージョン↓
Windows2000SERVER
(以下ご自由に質問文をお書きください)

はじめまして。

あるファイル内の特定のキーワードの後ろ20文字数分を別ファイルへ書き出すという処理を考えています。

過去ログを参照したところ、以下のようなバッチの記述が見つかり
試してみたのですが、抽出したい20文字の中に*が含まれていると取得できないようです。

以下参考ソース

sample.bat "DATE"(検索したい特定キーワードをパラメタ記述)
- - - - 
@echo off
for /F "tokens=* delims=" %%l in ('findstr /R "^%1" D:\test.ini') do set kekka=%%l
echo set kekka=%%kekka:%1=%% > D:\tmp.bat
call D:\tmp.bat
set words=%kekka:~0,20%
echo %words% > D:\tmp.txt
del D:\tmp.bat
- - - - 

test.iniの内容
- - - - 
TYPE="TEST00001"
DATE="200504*200603"
CODE="TEST00002"


- - - - 

結果
tmp.txtデータは作成されませんでした。

sample.batに渡すパラメタ(検索キーワード)を"TYPE"とすると
「="TEST00001"」というtmp.txtが作成されます。

*を含む文字を出力することは可能なのでしょうか。


アドバイスをいただければと思います。
よろしくお願いいたします。
357.
Re:ファイル内の特定のキーワードより指定文字数分を別ファイルへ書き出す
2005年03月30日(水) 19時53分
otn
>あるファイル内の特定のキーワードの後ろ20文字数分を別ファイルへ書き出すという処理を考えています。

>過去ログを参照したところ、以下のようなバッチの記述が見つかり
>試してみたのですが、抽出したい20文字の中に*が含まれていると取得できないようです。

>以下参考ソース

>sample.bat "DATE"(検索したい特定キーワードをパラメタ記述)
>- - - - 
>@echo off
>for /F "tokens=* delims=" %%l in ('findstr /R "^%1" D:\test.ini') do set kekka=%%l
>echo set kekka=%%kekka:%1=%% > D:\tmp.bat
>call D:\tmp.bat
>set words=%kekka:~0,20%
>echo %words% > D:\tmp.txt
>del D:\tmp.bat
>- - - - 

>test.iniの内容
>- - - - 
>TYPE="TEST00001"
>DATE="200504*200603"
>CODE="TEST00002"
>:
>:
>- - - - 

>結果
>tmp.txtデータは作成されませんでした。

ファイル作成はされると思うので、中身が空だったと言うことでしょうか?
あるいはもし、ファイルが作成されなかったのなら、途中のバッチ命令で文法エラーになって処理打ち切りになっていると思います。

>sample.batに渡すパラメタ(検索キーワード)を"TYPE"とすると
>「="TEST00001"」というtmp.txtが作成されます。

>*を含む文字を出力することは可能なのでしょうか。

上記のままであれば特に問題なく、
「="200504*200603"」というtmp.txtが作成されると思います。
DATEで始まる行が複数行あるのではないですよね?

>アドバイスをいただければと思います。
>よろしくお願いいたします。

@echo off をはずして、うまくいくケースと見比べ、どこでおかしくなっているか探るというのがよいと思います。
 
 


カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2005年03月30日 14:37に投稿されたエントリーのページです。

ひとつ前の投稿は「指定されたパス名が"で囲まれている場合のFORでの処理方法」です。

次の投稿は「[NT系]1年以上アクセスされていないファイルを一括削除したい」です。

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

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