- 締切済み
バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換
バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換したい バッチファイルの記述方法について教えて下さい。 テキストファイル内に特定の文字列が存在していた場合、その文字列をバッチファイルを実行するPCのコンピュータ名で置換するにはどのように記述したら良いでしょうか。 なおPCはWindowsXPを使用しています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- petertalk
- ベストアンサー率69% (156/225)
回答No.1
文字列置換は、バッチでは難しいので、 DOS用のsedをインストールする前提で書きます。 記述はOSに依存しないし、簡易なコマンドなので最適だと思います。 http://www.vector.co.jp/soft/dos/util/se000880.html テキストファイル、in.txt があったとします。 [in.txt] @echo off ping hostname この中の hostname という文字列を実際のホスト名で置き換え、 out.txt に書き出すバッチは、以下になります。 @echo off for /F %%h in ('hostname') do set host=%%h sed -e s/hostname/%host%/g <in.txt >out.txt これを実行すると、以下のファイルが作成されます。 [out.txt] @echo off ping winxp001(実際のファイル名)