質問

2015年12月03日 08時05分
  • バッチファイルを利用した、「sample.ini」ファイルの構文書き換えについて

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

とある理由から、「sample.ini」ファイル内の構文をバッチファイルを実行して書き換えたいのですが、上手くいきません。どなたかお知恵をお貸しください。。。

Cドライブ直下にある「A」フォルダ内の「sample.ini」ファイルをターゲットとし、構文中の「port=XXX」を「port=ZZZ」に書き換えたいです。なお、バッチファイルはデスクトップ上で実行することを前提としています。

9件の回答があります

回答

バッチを右クリックして、管理者として実行は試されましたか?

2015年12月03日 12時33分

回答

しとさん

はい、実行してはみましたが上手くいきません。
そもそもバッチの構文自体が正しく書けているか。。。

回答

ini ファイルは、システムファイルなので、勝手に書き換えられないように設定されていませんか?
同じ内容のファイルを、拡張子を txt にして書き換えが可能か?試してみてはどうでしょうか?

2015年12月03日 12時50分

回答

いろいろ検証してみましたが、バッチでテキスト置換はお勧めできないと思われます。

バッチ(Dos)はファイルやディレクトリ操作が得意でして、テキスト操作は苦手のようです。
ex. 句読点 記号 全角文字 がうまく読み込めない。 1行あけて開業しているところを無視する など

なのでどうしてもというなら、いろんなテクニックが必要になります。

それよりは、テキストエディタのgrep置き換え機能などを利用したほうが良いです。
テキスト置換前のバックアップや変更箇所の確認もできますので間違いないです
参考URL:
http://syszo.com/detail.php?id=32855

回答

たぶん「ユーザーにバッチ実行だけをさせたい」のでは?と推測しました。
修正済みのファイル配布では、問題があるのでしょうか?

2015年12月04日 01時05分

回答

直接、ini を書き換えるのが無理なら
@echo rem 始まり  > sample.ini
@echo port=ZZZ >> sample.ini
のようにDOSコマンドで ini を作ってはどうでしょうか
( >ファイル名 で上書き   、 >>ファイル名 で追記 になります )

2015年12月04日 08時24分

回答

Sushi太郎さん

ご回答ありがとうございます。
内容として難しいということがわかりました。
別の方法も視野に入れ、検討したいと思います!

回答

しとさん

はい、ユーザーにバッチを実行させたいのですが、そもそも実行させるための
「構文が正しくかけているか」という部分も一つの問題でして。。。
わかりにくい記載をしてしまい申し訳ございません。

回答

desatoさん

なるほど。いただいた内容をもとに操作してみます!

あなたもコメントしましょう!