[前の記事]« IEのショートカット操作を自動化したい
[次の記事]スワップファイル(ページングファイル)の設定値をプロンプトから書き換える »

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

▲カテゴリー「FOR .. IN ( ) DO..」索引へ
▲カテゴリー「文字列の操作」索引へ

テキストファイルの特定の領域を検出・書き出したい

1362.
ファイル分割の方法
2006年09月20日(水) 19時35分
HS
●DOS/Windowsのバージョン↓
Windwos2000SP4を使用してます。
(以下ご自由に質問文をお書きください)
参考にさせてもらってますが、初めての質問です。

ファイルAにn行あり、STARTで始まる行と~END始まる行ではさまれた行がn個あります。
START
END ではさまれた行(STAR/END含む)を
STARTの個数分別のファイルに書き出したいのですが、方法が良くわかりません。
(ファイルAは必ずSTART・ENDのペアで記述されてます。)
どのようにすればよいか教えていただければありがたいです。
よろしくお願いします。
1364.
Re:ファイル分割の方法
2006年09月21日(木) 16時14分
otn
>ファイルAにn行あり、STARTで始まる行と~END始まる行ではさまれた行がn個あります。

どうしても意味が不明です。
「ファイルAには、STARTで始まる行と~END始まる行ではさまれた行がn組あります。」
というような意味でしょうか?

書き出すファイルは、1.txt 2.txt のような連番でいいでしょうか?

ファイルA中には、以下の特殊文字は含まれるでしょうか?
! " % & ( ) , / ; < = > ^ |
もし " が含まれるようならバッチはあきらめたほうがいいです。^ も難しそう。他は何とかなるかも(ならないかも)。
1365.
Re:ファイル分割の方法
2006年09月21日(木) 17時24分
HS
説明がまずくてもうしわけないです。

>>ファイルAにn行あり、STARTで始まる行と~END始まる行ではさまれた行がn個あります。
>
>どうしても意味が不明です。
>「ファイルAには、STARTで始まる行と~END始まる行ではさまれた行がn組あります。」
>というような意味でしょうか?
>
その通りです。
START
xxxxx
yyyy
END
START
xxxx
zzzz
yyyy
END
START
・・・
END
 
ということです

>書き出すファイルは、1.txt 2.txt のような連番でいいでしょうか?
>
それでOKです。

>ファイルA中には、以下の特殊文字は含まれるでしょうか?
>! " % & ( ) , / ; < = > ^ |
>もし " が含まれるようならバッチはあきらめたほうがいいです。^ も難しそう。他は何とかなるかも(ならないかも)。

/ はありますが、他の特殊文字はないです。

1367.
Re:ファイル分割の方法
2006年09月22日(金) 23時34分
otn
>>「ファイルAには、STARTで始まる行と~END始まる行ではさまれた行がn組あります。」
>>というような意味でしょうか?
>>
>その通りです。

こんな感じで。最初に出力ファイルを消すあたりは適当にしてください。

@echo off
setlocal
for /L %%N in (1,1,100) do if exist %%N.txt del %%N.txt

set N=0
for /f "delims=" %%A in (aaa.txt) do call :sub "%%A"
goto :eof

:sub
set A=%~1
if "%A:~0,5%"=="START" set /a N+=1
>>%N%.txt echo %A%
goto :eof

1371.
Re:ファイル分割の方法
2006年09月25日(月) 13時28分
HS◆ojDTZ3A=

ありがとうございます。
これでトライしてみます。

>>>「ファイルAには、STARTで始まる行と~END始まる行ではさまれた行がn組あります。」
>>>というような意味でしょうか?
>>>
>>その通りです。
>
>こんな感じで。最初に出力ファイルを消すあたりは適当にしてください。
>
>@echo off
>setlocal
>for /L %%N in (1,1,100) do if exist %%N.txt del %%N.txt
>
>set N=0
>for /f "delims=" %%A in (aaa.txt) do call :sub "%%A"
>goto :eof
>
>:sub
>set A=%~1
>if "%A:~0,5%"=="START" set /a N+=1
>>>%N%.txt echo %A%
>goto :eof
>


1461.
Re:ファイル分割の方法
2006年10月17日(火) 22時56分
scriptwriter
otnさん、

>ファイルA中には、以下の特殊文字は含まれるでしょうか?
>! " % & ( ) , / ; < = > ^ |
>もし " が含まれるようならバッチはあきらめたほうがいいです。^ も難しそう。他は何とかなるかも(ならないかも)。

!遅延展開!を用いるとよいようです。

1468.
Re:ファイル分割の方法
2006年10月18日(水) 14時54分
otn
>otnさん、
>
>>ファイルA中には、以下の特殊文字は含まれるでしょうか?
>>! " % & ( ) , / ; < = > ^ |
>>もし " が含まれるようならバッチはあきらめたほうがいいです。^ も難しそう。他は何とかなるかも(ならないかも)。
>
>!遅延展開!を用いるとよいようです。

% & ( ) , / ; < = >  |
は遅延展開で救えますが、! " ^ あたりまで救うのは大変。


 

1362.ファイル分割の方法 HS 06/09/20(水) 19:35
1364.Re:ファイル分割の方法 otn 06/09/21(木) 16:14
1365.Re:ファイル分割の方法 HS 06/09/21(木) 17:24
1367.Re:ファイル分割の方法 otn 06/09/22(金) 23:34
1371.Re:ファイル分割の方法 HS◆ojDTZ3A= 06/09/25(月) 13:28
1461.Re:ファイル分割の方法 scriptwriter 06/10/17(火) 22:56
1468.Re:ファイル分割の方法 otn 06/10/18(水) 14:54
 
 


カテゴリー「FOR .. IN ( ) DO..」索引へ
カテゴリー「文字列の操作」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2006年09月20日 10:35に投稿されたエントリーのページです。

ひとつ前の投稿は「IEのショートカット操作を自動化したい」です。

次の投稿は「スワップファイル(ページングファイル)の設定値をプロンプトから書き換える」です。

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

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