
開くたびに一時ファイルを作成する必要があるプログラム (古いバージョンの Delphi) があります。問題は、そのファイルを作成することはできますが、上書きすることはできないため、開こうとするたびに、まずファイルを別の場所に移動する必要があることです。
ファイルは temp フォルダ (userfolder\AppData\Local\Temp) に作成されます。どこにでも移動でき、名前を変更することもできますが、削除することはできません。
そこで、一時ファイルを移動できる別のフォルダを作成しました。プログラムを開くたびに 1 つのコピーが作成されるので、これらのコピーの名前を変更しています。しかし、今ではコピーの数が多すぎるので、削除したいと思っています。
削除しようとすると、次のようなメッセージが表示されます。
ファイルがシステムで開かれているため、アクションを完了できません
面白いのは、システムを再起動しても、それらのファイルを格納するために作成した別のフォルダーに移動して、ファイルを削除しようとすると、依然としてそのメッセージが表示されることです。
私が試してみました:
- ファイルの所有権を自分自身に割り当てる (ファイルは元々システムに属しています)。
- 「Everyone」を含む他のユーザー アカウントに権限を割り当て、すべてのユーザーにファイルを削除する権限があることを確認します。
- すべてのファイル属性を削除します。
- 上で述べたように、再起動します。私はこれを複数回実行しました。
- ファイル名だけでなく拡張子も変更します。
- Unlocker (この種の問題を解決すると謳っているプログラムですが、私の場合は機能しませんでした)
- コマンドプロンプトを実行しています。 とだけ表示されます
access denied
。
他に試せることはありますか? システム プロセスがこれらのファイルを開かないようにして、削除するにはどうすればよいでしょうか?
答え1
良いアイデアのリストです。他にも試してみるとよい極端なこと:
- セーフモードで起動する
- 別のマシンにディスクをマウントする
使用できますプロセスエクスプローラーどのプロセスが(もしあれば)ファイルを処理しているか確認するには:
- Ctrl+L (下のペインを表示)
- 下のペインで、ファイル名のCtrl+F