プロが教える店舗&オフィスのセキュリティ対策術

 WindowsXP (SP1)
 Cドライブ⇒NTFSフォーマット
の環境で使用しています。

現在、事情があって、あるファイルのバージョンを古くしたいのですが、上手くいきません。
C:\WINDOWS\SYSTEM32\
内にある、WINDOWSが使用しているファイルです。

何か良い方法をご存知でしたら教えてください。
よろしくお願いします。

A 回答 (3件)

#2です。

申し訳有りません、一つ漏れが有りました。

もしそのファイルと同名の物が
C:\WINDOWS\SYSTEM32\dllcache
内にも有る場合は、このディレクトリ内の該当ファイルを消して
おく必要が有ります。この中にファイルが有ると WINDOWS が書換を
検知し、更新したファイルを復元してしまいます。
(この機能自体は普段は大切な機能なのですが…)

やはり消せない場合は前述のリネーム作戦等を試してみて下さい。


\SYSTEM32\dllcache の扱いについてもノウハウが色々と有ります。
「メモ帳トラッパー」辺りの導入方法を探すと色々と大技小技や
詳しい説明等が見つかると思います。
    • good
    • 0
この回答へのお礼

dllcache内のファイルをリネイムしてから操作したら、
うまくファイルを変えることが出来ました。

どうもありがとうございました。

お礼日時:2003/09/04 08:51

こんにちは。



その「使用中」のファイルをリネームできますか?
使用中でもリネームは出来る場合が有り、その場合は簡単です。
(しかし出来ないファイルも有ります)

出来るようであれば、例えば対象が abc.exe の場合、

1.現在の abc.exe をリネームする
  例)abc.exe → abc_delete.exe など

2.元々の abc.exe が有ったディレクトリに、置き換えたい
  ファイルをコピーする。
  (abc.exe と abc_delete.exe 両方が存在する状態になる)

3.PCを再起動する。
  (これで置き換え後の abc.exe が使用されます)

4.最初にリネームしておいた元ファイルを削除する。


もしプログラムを書いても構わないなら、WIN32API の MoveFileEx
なる関数を使う事で「PC再起動時にファイルを置き換える」という
予約みたいな事が可能です。
また、これと同じ事を何処かレジストリへ記述する事で実現できた
ような気もするのですが記憶が定かではありません。スミマセン。

この関数については以下を参考にどうぞ
http://support.microsoft.com/default.aspx?scid=k …


番外編:
同じPCの別パーティションへ新たに Windows XP をインストール。
新しい側の XP 起動中に元々の XP が使用していたファイルを上書、
という荒技も有ります。

例えば元々の XP が C:\WINDOWS に入っていたとします。
(複数のパーティションを持つHDDを装備しているという前提で)
E:\WINDOWS(Cドライブ以外の何処か)に新しく XP をインストール、
E:\WINDOWS 側の XP を起動します。
この時なら、例え C:\WINDOWS 内のファイルでも誰も使っていない
ので普通に上書きコピーできます。

労力に見合うかどうかは疑問ですが…
    • good
    • 0

一般的に使用中のファイル、アクセス中のファイルに関しては上書き


できないようになっています。
ただ、上書きするファイル自体が、何かのアプリケーションで使用中
とか何かのサービスでのみ必要ということであれば、そのサービスを
一旦終了させることで上書き可能になります。

もしそれがWindowsのシステムに関わるものであれば、修復セットアップ
あたりを使用してWindowsシステムが動作していない状態で書き込めば
上書きできるかもしれません。

この回答への補足

WINDOWSが使用しているファイルなので、MS-DOSで起動してコピーしようとしたのですが、上手くコピーできませんでした。
Infailed Drive ~
とかなんとか、メッセージが表示されるだけです。

それで、NTFSだからだめなのかなと思ったのですが。
関係ないのでしょうか?

補足日時:2003/09/03 13:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!