[前の記事]« [NTServer4]アプリをバッチ処理で閉じる方法
[次の記事]改行のないテキストファイルに500文字毎に改行を入れたい »

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

▲カテゴリー「文字列の操作」索引へ

雛形ファイルの特定位置に指定した文字列を挿入したい

208.
バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月19日(水) 16時35分
プロレタ
●DOS/Windowsのバージョン↓
Windows2000Pro

はじめまして。

ある雛形ファイルの特定の場所へ、バッチファイルの引数の形として渡されたパラメータを書き込んで、新しいファイルを作成したいと考えています。(条件ファイルの書き換えバッチ)

雛形ファイルを一行ずつ読み込んで、特定の記号(または文字列)を見つけたら、パラメータと置き換えていくというようなものをイメージしております。

for /F %abc in (abc.txt) do の機能が使えそうであるなと、考えているのですが、どうもパラメータと特定の文字列を置き換えるといったところがピンときません。

お知恵を貸していただければ非常に助かります。
209.
Re:バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月19日(水) 18時14分
otn
>●DOS/Windowsのバージョン↓
>Windows2000Pro

>はじめまして。

>ある雛形ファイルの特定の場所へ、バッチファイルの引数の形として渡されたパラメータを書き込んで、新しいファイルを作成したいと考えています。(条件ファイルの書き換えバッチ)

>雛形ファイルを一行ずつ読み込んで、特定の記号(または文字列)を見つけたら、パラメータと置き換えていくというようなものをイメージしております。

>for /F %abc in (abc.txt) do の機能が使えそうであるなと、考えているのですが、どうもパラメータと特定の文字列を置き換えるといったところがピンときません。

>お知恵を貸していただければ非常に助かります。

雛型ファイル内に、
---abc.txt-----------------------
雛型 !A! です。
展開され!B!。
---------------------------------
と、!変数名! のように書いておいて、

setlocal enabledelayedexpansion
set A=ファイル
set B=てますよね
(for /f "delims=" %%A in (abc.txt) do @echo %%A)>abc-out.txt

サンプルとして固定文字列をセットしましたが、引数を使うなら、
set A=%1 などとすればいいでしょう。
出力ファイル内で、!を書きたい場合は^!と、^を書きたい場合は^^と、雛形ファイルに書く必要があります。
213.
Re2:バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月21日(金) 09時59分
プロレタ

>雛型ファイル内に、
>---abc.txt-----------------------
>雛型 !A! です。
>展開され!B!。
>---------------------------------
>と、!変数名! のように書いておいて、

>setlocal enabledelayedexpansion
>set A=ファイル
>set B=てますよね
>(for /f "delims=" %%A in (abc.txt) do @echo %%A)>abc-out.txt

>サンプルとして固定文字列をセットしましたが、引数を使うなら、
>set A=%1 などとすればいいでしょう。
>出力ファイル内で、!を書きたい場合は^!と、^を書きたい場合は^^と、雛形ファイルに書く必要があります。

ご回答ありがとうございました。
早速ためしてみます。
227.
Re3:バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月26日(水) 14時23分
プロレタ
>>
>>雛型ファイル内に、
>>---abc.txt-----------------------
>>雛型 !A! です。
>>展開され!B!。
>>---------------------------------
>>と、!変数名! のように書いておいて、
>>
>>setlocal enabledelayedexpansion
>>set A=ファイル
>>set B=てますよね
>>(for /f "delims=" %%A in (abc.txt) do @echo %%A)>abc-out.txt
>>
>>サンプルとして固定文字列をセットしましたが、引数を使うなら、
>>set A=%1 などとすればいいでしょう。
>>出力ファイル内で、!を書きたい場合は^!と、^を書きたい場合は^^と、雛形ファイルに書く必要があります。

>ご回答ありがとうございました。
>早速ためしてみます。


ご回答の通り試してみたところうまくいきました。
ありがとうございます。
ただ、雛形のファイルには空白の行があるのですが、新規作成される
ファイルには空白行は無視して作成されています。
雛形ファイルの空白行に特定の文字を埋めておけばこれは回避されるんでしょうか?

よろしければお知恵をお貸しください。
228.
Re4:バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月26日(水) 17時21分
otn
>>>雛型ファイル内に、
>>>---abc.txt-----------------------
>>>雛型 !A! です。
>>>展開され!B!。
>>>---------------------------------
>>>と、!変数名! のように書いておいて、
>>>
>>>setlocal enabledelayedexpansion
>>>set A=ファイル
>>>set B=てますよね
>>>(for /f "delims=" %%A in (abc.txt) do @echo %%A)>abc-out.txt
>>>
>>>サンプルとして固定文字列をセットしましたが、引数を使うなら、
>>>set A=%1 などとすればいいでしょう。
>>>出力ファイル内で、!を書きたい場合は^!と、^を書きたい場合は^^と、雛形ファイルに書く必要があります。
>>
>>ご回答ありがとうございました。
>>早速ためしてみます。
>>

>ご回答の通り試してみたところうまくいきました。
>ありがとうございます。
>ただ、雛形のファイルには空白の行があるのですが、新規作成される
>ファイルには空白行は無視して作成されています。
>雛形ファイルの空白行に特定の文字を埋めておけばこれは回避されるんでしょうか?

>よろしければお知恵をお貸しください。

for /f 文によるファイルからの読み込みでは空行はスキップされます。
空行が必要なら!の1文字だけを書いておけば置換で空になります。ただし、

(for /f "delims=" %%A in (abc.txt) do @echo.%%A)>abc-out.txt

のようにechoのところで空行出力を考慮してピリオドなどの記号を付加する必要があります。元から付けておくべきでした。
232.
Re5:バッチファイルの引数(複数)を、ある雛形ファイルの特定の部分にそれぞれ書き込んで、新しいテキストファイルを作成したい
2005年01月26日(水) 19時36分
プロレタ
>for /f 文によるファイルからの読み込みでは空行はスキップされます。
>空行が必要なら!の1文字だけを書いておけば置換で空になります。ただし、

>(for /f "delims=" %%A in (abc.txt) do @echo.%%A)>abc-out.txt

>のようにechoのところで空行出力を考慮してピリオドなどの記号を付加する必要があります。元から付けておくべきでした。

試してみたところうまくいきました。
どうも親切にありがとうございました。
これを機にもう少しバッチファイルについて深く学習してみたいと思います。
 
 


カテゴリー「文字列の操作」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2005年01月19日 05:57に投稿されたエントリーのページです。

ひとつ前の投稿は「[NTServer4]アプリをバッチ処理で閉じる方法」です。

次の投稿は「改行のないテキストファイルに500文字毎に改行を入れたい」です。

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

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