2011-02-09 3 views
0

レジストリにデータを生成するプログラムがあります。 "reg export HKCU \ Software \ ProgramName \ Data data.reg"(Unicode形式)で保存します。 私はそれを他のコンピュータに持ち込んでそこにインポートする必要があります。そのコンピュータのプログラムがデータを使用できるようにします。 しかし、私はdata.regからいくつかのテキスト行を削除する必要があります。テキスト行には、いくつかの文字列(exeやdllのパス、 "name1 = value1"、 "name2 = value2"などの特定のプログラム設定など)が含まれているため、簡単に見つけることができます。 私は数日おきに手動で(ワードパッドを使用して)これをやっていますが、多分別の方法があります... 私はこれらのコンピュータに他のプログラムをインストールできません(アクセスは制限されています) cmdファイル。 これまでに何を試してみましたか: - エクスポートを "con"にリダイレクトしますが、変数には視覚的ではありません。 - "for/F ..."を使用しますが、これはANSIでのみ機能し、空白行を削除します。Windowsでバッチコマンドを使用してUnicodeレジストリファイルからいくつかの行を削除する方法はありますか?

最初のコンピュータのプログラムの設定を2番目のコンピュータのプログラムのレジストリキーに読み込まないでください。インポートする前に、行を削除する必要があります。

誰かが私を助けてくれますか? ありがとうございます。

+0

削除する文字列を指定した場合に役立ちます。削除の前後のちょうどいくつかの例ですので、削除する内容を知ることができます –

+0

たとえば、プログラム(exe、dlls)へのパスは... – Cosmin

答えて

0

線でループするために使用するこのコードをファイル内容行

FOR /F %z IN (yourfile.reg) DO ... 

次に、このラインは、あなたがもしそうなら(あるいはされていない場合)

IF (%z)==[put your key string here] 

を維持したいものであるかどうかを判断するために条件文を使用その変数をターゲットファイルに書き込む

@echo %z >> output.reg 

ファイル名をcom MANDライン引数は、すべて一緒に使用%1、%2など

、:あなたは、いくつかの重要な詳細は明らかにしなかったので

FOR /F %z IN (%1) DO IF NOT (%z)==[skip this line] @echo %z >> %2 

が、私はここにいくつかの仮定を作っています。 http://www.robvanderwoude.com/batchfiles.php

+0

ありがとうございます。しかし、私は "for/F"を使うことができない理由について言及しました。なぜなら、それはANSIのみで動作し、ファイルはUnicodeであり、空白行を削除するからです。数日前、私は "FOR/F%z IN(yourfile.reg)DO ..."を試しましたが、このファイルは処理されていません。 – Cosmin

+0

ああ、申し訳ありません。エンコーディングを変更するには 'タイプ'を試してみてください。レジストリのデータやキーに悪影響を及ぼさないように、最初に試してみることをおすすめします。 –

+0

はい、私は変換について知っていますが、残念ながらそれは使用できません。データは実際にはUnicodeです。 .. – Cosmin

0

例としてはいいですが、reg deleteを使用して、.regファイルをインポートした後に必要なキー/値を削除できますか?

+0

良い考えですが、私は最初のコンピュータのプログラムのいくつかの設定を2番目のコンピュータのプログラムに転送することができないように、これらの行を削除します。そのため、インポートする前にこれらの行を削除する必要があります。申し訳ありませんが、私の質問でそれについて具体的にされていません。 – Cosmin

関連する問題