
Windowsでバッチファイルを作成し、テキストファイルの中の文字列を置換しようとしています。
下記のような内容のバッチファイルを作りました。
ーーーーーーーーー
@echo off
set fname=.¥change.txt
set orgword=bbb
set newword=222
copy %fname% orgfile >nul
type nul >%fname%
for /F %%I in (orgfile) do (set readline=%%I&& call :sub)
del org file
sub:
call set outline=%%readline:%orgword%=%newword%%%
echo %outline%>>%fname%
go to :eof
:end
ーーーーーーーーー
このバッチを利用して、
change.txt
ーーーーーーーーー
aaabbbccc
ーーーーーーーーー
を変換すると、
ーーーーーーーーー
aaa222ccc
ーーーーーーーーー
となってくれますが、
ーーーーーーーーー
<aaabbbccc/>
ーーーーーーーーー
を変換すると、
ーーーーーーーーー
ECHO は <OFF> です。
ーーーーーーーーー
となってしまいます。
これを、
ーーーーーーーーー
<aaa222ccc/>
ーーーーーーーーー
としたい時にはどのようにしたら良いでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
windowsのコマンドラインでbatよりも、ちょっとだけ高級なことをやりたいなら、
WSH(Windows Script Host)でやるのがよいです。
VBScriptかJavascriptが使えます。正規表現を使った置換なんかもできます。
No.2
- 回答日時:
DOSと言うか、使用しているOSのバージョンなどの問題で
使えない環境もあるので参考ということで。。。
EDLINを使う
ラインエディタなんですけど、これ、結構優秀で外部からコマンドを指定して起動できるんです。
そこで、コマンドを記述したテキスト(例:CMND.TXT)を用意して、対象のテキスト(例:example.txt)を
edlin exsmple < cmnd.txt
のようにして使うんですけどどうでしょう。
コマンドの種類や動作については
http://support.microsoft.com/kb/67706/ja
などを参考にしてみてください。
※ Windows7 64ビット版にEDLINは含まれませんし使えません。
ほかの64ビット版でも同様と思われます。
・・・そんなわけで自分の環境では使えないのでコマンド記述の確認ができません。
あしからず・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ChatGPTに作らせたい Excel VBA 1 2023/04/05 19:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- その他(悩み相談・人生相談) 自撮りが趣味なんですがキモイですか? 友達3人くらいだけを通してる鍵垢のストーリーにたまに載せる程度 2 2022/05/13 14:40
- バラエティ・お笑い 世界の果てまでイッテQについて どうしてもどうしても、どーーーーーーーーーしても、 2010年8月8 1 2023/03/23 15:56
- 消費者問題・詐欺 国税庁から来たメール 5 2022/08/29 06:42
- その他(悩み相談・人生相談) 保護者にバレないボランティアってありますか 3 2022/10/21 17:34
- 哲学 Humility is ... appearance.の一番古い出典となる書物は何で著者は誰ですか? 11 2022/04/21 03:19
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- 演劇・オペラ・ミュージカル 急いでます! 1 2022/05/23 03:20
- 統計学 相次ぐ値上げ。この値上げラッシュにどう対応していきますか? 5 2022/11/01 19:18
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルスクリプトでエラーが出ます
-
renameコマンドでファイル名か...
-
OSXで常に最後に表示される文字...
-
正規表現 '\\(.*\\)\\.' の意味
-
DOSでテキストファイルの中のあ...
-
バッチで特定文字が含まれる先...
-
ファイルの先頭に文字を追加す...
-
dosバッチを使用して昇順に
-
unixのdiffコマンドの動作について
-
Fedora Core 2 のコマンド
-
find で探したファイルを探した...
-
UNIXで、ディレクトリを比較し...
-
【Linux】findコマンドの表示順
-
CentOS/リダイレクションに改行...
-
Dirコマンドでフォルダ内ファイ...
-
SONYの音楽ソフト「x-アプリ」...
-
Linux環境 grepで改行コード(CR...
-
エクセルの表にヘンな枠が・・・
-
tarコマンドの圧縮
-
net use /d の強制実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトでエラーが出ます
-
【DOSコマンド】for文の中で変...
-
renameコマンドでファイル名か...
-
バッチで特定文字が含まれる先...
-
Linuxで*をつかってファイル移...
-
OSXで常に最後に表示される文字...
-
DOSでテキストファイルの中のあ...
-
【Linux】findコマンドの表示順
-
スラッシュ"/"を削除したい
-
UNIXで、ディレクトリを比較し...
-
標準出力とリダイレクトを同時...
-
scriptコマンドでログファイル...
-
ファイルの先頭に文字を追加す...
-
ショートカットのリンク先(フ...
-
○行目から□行目だけを表示する...
-
DOSバッチにて外のファイルの指...
-
unixのdiffコマンドの動作について
-
*.txtファイルの最終行だけ参照...
-
UNIXのコマンド教えて下さい。
-
OSX用のファイル結合ソフト
おすすめ情報