- ベストアンサー
テキストファイルに固定文字挿入する方法を教えてください
- テキストファイルに固定文字を挿入する方法を知りたいです。特に、テキストファイル内の特定の場所に6桁の数字を挿入したいです。
- 現在、テキストファイル内には特定の場所に6桁の数字が入っています。その数字を2桁おきに「/」を挿入して、「MM/DD/YY」の形式に置換したいです。
- 日次で毎日ファイルが作成されるため、VBScriptやバッチファイルなどを使用して自動化したいです。自動でテキストファイルの特定の場所に6桁の数字を置換する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
バッチファイルで作ってみました。A.csvと同じディレクトリにおいて使います。 バッチではA.csvを一旦A_org.csvにリネームして新しいA.csvを作ります。 もし A_org.scv が確認の為に必要でしたら、最後の行(del A_org.csv )を削除して実行してください。 :-------------------------------------- sample.bat echo off setlocal ENABLEDELAYEDEXPANSION ren A.csv A_org.csv for /F "delims=" %%a in (A_org.csv) do ( set line=%%a set tmpl=!line:*,=! set tmpl=!tmpl:*,=! set before=!tmpl:~0,6! set after=!tmpl:~0,2!/!tmpl:~2,2!/!tmpl:~4,2! call echo %%line:!before!=!after!%%>>A.csv ) del A_org.csv
その他の回答 (2)
- pita-gora
- ベストアンサー率70% (102/145)
#2です。 3個目の「,」の後に数字6桁とありますが、例示では2個目の「,」のあとに数字6桁があるので、例示のテキストで動くサンプルになっています。 違っていたら補足してください。 またテキスト中に「<>|」などの特殊記号があるとうまく動かない場合があるん思います。その場合はVBSやawkなどを使ったほうがいいです。
お礼
失礼しました。 2個目の後です。
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
1. 入力ファイル(既存)と出力ファイル(新規)を開く 2. 入力ファイルから1行読んで文字列を取得 3. 文字列をSplitで分解して配列を取得 4. 配列(2)にある6桁の数字を変更 5. 配列をJoinで連結して文字列を取得 6. 出力ファイルに文字列を書き出す 7. 以降入力ファイルをすべて読むまで2~6を繰り返す VBSで行うならこんな具合でしょうか。
お礼
ありがとうございました。 希望する処理ができました。