質問
ini ファイルは、システムファイルなので、勝手に書き換えられないように設定されていませんか?
同じ内容のファイルを、拡張子を txt にして書き換えが可能か?試してみてはどうでしょうか?
いろいろ検証してみましたが、バッチでテキスト置換はお勧めできないと思われます。
バッチ(Dos)はファイルやディレクトリ操作が得意でして、テキスト操作は苦手のようです。
ex. 句読点 記号 全角文字 がうまく読み込めない。 1行あけて開業しているところを無視する など
なのでどうしてもというなら、いろんなテクニックが必要になります。
それよりは、テキストエディタのgrep置き換え機能などを利用したほうが良いです。
テキスト置換前のバックアップや変更箇所の確認もできますので間違いないです
参考URL:
http://syszo.com/detail.php?id=32855
たぶん「ユーザーにバッチ実行だけをさせたい」のでは?と推測しました。
修正済みのファイル配布では、問題があるのでしょうか?
直接、ini を書き換えるのが無理なら
@echo rem 始まり > sample.ini
@echo port=ZZZ >> sample.ini
のようにDOSコマンドで ini を作ってはどうでしょうか
( >ファイル名 で上書き 、 >>ファイル名 で追記 になります )
Sushi太郎さん
ご回答ありがとうございます。
内容として難しいということがわかりました。
別の方法も視野に入れ、検討したいと思います!
しとさん
はい、ユーザーにバッチを実行させたいのですが、そもそも実行させるための
「構文が正しくかけているか」という部分も一つの問題でして。。。
わかりにくい記載をしてしまい申し訳ございません。
質問
とある理由から、「sample.ini」ファイル内の構文をバッチファイルを実行して書き換えたいのですが、上手くいきません。どなたかお知恵をお貸しください。。。
Cドライブ直下にある「A」フォルダ内の「sample.ini」ファイルをターゲットとし、構文中の「port=XXX」を「port=ZZZ」に書き換えたいです。なお、バッチファイルはデスクトップ上で実行することを前提としています。