- 締切済み
バッチでレジストリの削除をするには?
OS NT4.0です。 PcanywhereのVERを9から11に上げる際、 9をアンインストールした後、下記のレジストリを削除してから11をインストールしなければなりません。 50台程この作業を行う必要があるので、出来れば自動化したいのです。 11のインストール作業はユーザーでも行えるように作成したCD-Rの配布で行うつもりです。 出来れば、そのインストールの直前にバッチを走らせて削除出来ればBestなんですが、よろしくお願いします。 過去の答えに近いものは掲載されていましたが、同じ事例がなかったのと、NTのコマンドリファレンスに掲載されていなかったのでひょっとして使用できない手法だったのかも?と思っています。 詳しい方がたくさんいらっしゃるようなので是非宜しくお願いします。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- RZ350RR
- ベストアンサー率27% (444/1615)
私は何でも屋さんではありませんので少しは調べてから対応してください。 >>下記のレジストリを削除してから11をインストールしなければなりません。 裏を返せば手動にしなければならないと考えるのは自然でしょう。それは何故かとなった時に、レジストリキーのアクセス権を調べるのが先だと思いませんか? 調べられるのは貴方しかいないのです。 ということでこのくらいで後は頑張ってください。 >>アクセス権限を設定した覚えはないのですが 覚えはないでしょう。 キーを追加するときにプログラム変更するのですから。
- RZ350RR
- ベストアンサー率27% (444/1615)
もしかして、レジストリにアクセス権限を設定している していませんか? そうでないならこれ以上は、レジストリ自体が壊れているとしか推測できません。
- RZ350RR
- ベストアンサー率27% (444/1615)
#1です。 キーは間違ってませんか? 正しいキーでないと削除されません。 ちなみに問題のキーの下にサブキー作ってください。 ファイルを適当な場所、デスクトップにでも置いて実行。 それでもサブキーが残っているならキーの指定間違いです。 この書式はサブキーが残っていてもバッサリ削除してしまうので操作は用心が必要なくらいです。 #5さんのようにRegeditでキーを書き出した方が間違いが無いと思います。私の場合も実際そうしています。 それでキーの前に"-"を付ければ必ず削除されるはずです。 約3000台以上の実績がありますから使用方法は無いはずです。
補足
書き出しもやってみましたが、記述に間違いは無い様です。ちなみに書き出した内容下記にそのまま貼り付けました。ファイルの置き場所もデスクトップに変更して試してみましたが駄目でした… REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA] "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA\0000] "Service"="Gernuwa" "FoundAtEnum"=dword:00000001 "Class"="Unknown" "ClassGUID"="{4D36E97E-E325-11CE-BFC1-08002BE10318}" "Problem"=dword:00000000 "StatusFlags"=dword:00000000 "BaseDevicePath"="HTREE\\ROOT\\0" "DeviceDesc"="Gernuwa Device"
- nota55
- ベストアンサー率37% (138/366)
小出しの回答ですみません。 今手元のNT4.0でテストしたら問題なく出来ました。 とりあえず,Regeditで該当するキーをファイルメニュー からレジストリファイルに書き出しして,そこの [HKEY_LOCAL_MACHINE\(略)]を[-HKEY_LOCAL_MACHINE\(略)]に 編集するってのはどうでしょうか。
お礼
テストまでしていただいて感謝感激です! 書き出しもやってみましたが、記述に間違いは無い様です。ちなみに書き出した内容下記にそのまま貼り付けました。 REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA] "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA\0000] "Service"="Gernuwa" "FoundAtEnum"=dword:00000001 "Class"="Unknown" "ClassGUID"="{4D36E97E-E325-11CE-BFC1-08002BE10318}" "Problem"=dword:00000000 "StatusFlags"=dword:00000000 "BaseDevicePath"="HTREE\\ROOT\\0" "DeviceDesc"="Gernuwa Device"
- nota55
- ベストアンサー率37% (138/366)
ああ,すみません。 hoge.reg は適当な名前(hoge)の.regファイルを実行する って意味でした。 #1さんの del_key.reg という名前で.regファイルを 作成したのであれば regedit /s del_key.reg になります。 っていうか上手くいかなかったのですね。。。
- nota55
- ベストアンサー率37% (138/366)
#2です。 >regedit.exe /s hoge.reg 自分で挙げたサイトに思いっきり書いてありました。
- nota55
- ベストアンサー率37% (138/366)
削除したいキーの前にハイフンをつけた.regファイルを作って, それをキックすればいいんでないの? http://support.microsoft.com/default.aspx?scid=kb;JA;310516 regedit.exe /s hoge.reg でhoge.regをキックできるっつー話をどっかで聞いたような 気がしますが,NT4.0のregeditでそれが出来たかは ちょっと不明です。
補足
早速ありがとうございます! 参考URLを載せていただいていましたので、#1の方が記入して下さった内容も意味が解り助かりました。 しかし、#1の方が記入して下さったファイルを作成し、administratorで実行しましたが、メッセージは成功したように出るんですが、その後再度REGEDITで確認してみると削除されていません。 hoge.regってレジストリを配布する為のコマンドなんでしょうか?
- RZ350RR
- ベストアンサー率27% (444/1615)
REGEDIT4 [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_GERNUWA] これに適当なファイル名 del_key.regと付けてダブルクリック バッチファイルでも良いけど、管理者権限ないとダメです。
お礼
早速ありがとうございます! 上記のファイルを作成し、administratorで実行しました。 メッセージは成功したように出るんですが、その後再度REGEDITで確認してみると削除されていないのですが、 ファイルの置き場所とか関係あるのでしょうか?
補足
アクセス権限を設定した覚えはないのですが、 以前に手動で削除した際にマシンによってはregeditではなく、regedt32でセキュリティのアクセス権をフルコントロールにしてから削除した覚えがあります。 もしアクセス権が問題だとしたら、解除する記述ってありますか?