使用中のフォルダーを削除するにはどうすればよいですか?


135

Windowsで作業しているときに、ディレクトリを削除しようとするとこのプロンプトが表示されることがあります。

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.

ただし、フォルダは「使用中」ではないため、開いていません。それで、再起動する前に削除するにはどうすればよいですか?


2
これは、Outlookおよび.msgファイルを操作しているときに最も頻繁に発生します。この場合、Outlookを閉じると「Folder In Use」エラーが停止します。このマイクロソフトコミュニティの質問に関する説明も参照してください。
エア

回答:


82

この答えは古いですが、まだトラフィックを獲得しているようです。以下に示すように、Windowsには組み込みツールがあります。

スタート→すべてのプログラム→アクセサリ→システムツール→リソースモニター(またはresmon.exeを実行)

詳細については、以下の回答をご覧ください。この回答の残りの部分は、もはや適切ではありません。


SysinternalsのProcess Explorerを使用すると、ハンドルとDLLを検索できます。ディレクトリを検索し、フォルダーを「使用」しているプロセスを見つけます。

そこから、そのプロセスをシャットダウンするか、特定のファイルハンドルを閉じることができます。ファイルハンドルを直接操作するときは何をしているかを確認し、重要なプロセスで使用されていないことを確認してください。


4
しかし、プロセスで使用されているディレクトリをどのように見つけますか?
Johnny_D

2
Ctrl-Fを使用して、削除しようとしているフォルダーの上にフォルダーの名前を入力します。
MikeMurko

4
現在、Windows用のネイティブGUIがあります。以下の回答を参照してください。
bcorso 14年

3
*ネイティブGUI / built into / Windows(リソースモニター)以下を参照してください。
ジェイミーパテ14年

私の場合、Process Explorerはハンドルを見つけることができませんでしたが、リソースモニター(他の回答を参照)はできました。
バートヴェルコエイジェン16年

182

Windows用のネイティブGUIがあります。

スタート>>すべてのプログラム>>アクセサリ>>システムツール>>リソースモニター(または実行 resmon.exe

検索ボックス(赤丸)を使用して「関連付けられたハンドル」を検索し、終了するプロセスを右クリックします。


例として、下の画像では、Eclipseディレクトリを削除できませんでした。Eclipseに関連付けられたハンドルを検索すると、adb.exeにディレクトリへのハンドルがあることがわかりました。adbプロセスを終了した後、Eclipseディレクトリを削除できました。

ここに画像の説明を入力してください


5
このトリックは私に悲しみを与えていたプロセスを強調しました:)
Pure.Krome 14

2
リソースモニターには管理者の資格情報が必要です。
エア

デスクトップにロックされたフォルダーがあり、そのリソースモニターは使用中としてリストされません。しかたがない。
シルダン

ロックされていますか?これは、質問の特定のエラー、つまり「フォルダが別のプログラムで開いています」を解決するためです。これはあなたの状況ですか?
bcorso

1
私のために問題を解決しました。
ルーベンゲルト

8

UnlockerとWhoLockMeは、64ビットWindowsでは機能しません。LockHunterを使用します


2
Unlockerは64ビットシステム用です。
avirk

lockhunterは、ProcExpとResMonの両方が見つけられないロックプロセスを見つけました。
巧妙な人間

7

ファイルハンドルを強制的に閉じるツール(前述のUnlockerなど)を使用する場合、それを行うと深刻な問題が発生する可能性があることに注意してください。(Raymond Chenによるこの記事を参照してください。)どのアプリケーションがファイルを使用しているか、どのアプリケーションも重要なことをしてないことを確認してください。

ハンドルを強制的に閉じるのではなく、最初にアプリケーションをシャットダウンする方が安全です。


方法良い記事。重要な読み物。
パセリエ

6

このREGスクリプトは、「ハンドルを表示」右クリックコンテキストメニュー項目を提供し、Sysinternalsハンドルユーティリティを呼び出して、右クリックしたファイルまたはフォルダーのすべての開いているハンドルを表示します。

Sysinternalsのhandle.exeをパスからアクセス可能な場所に配置します。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle]
@="View &Handles"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle\command]
@="cmd.exe /k handle -a -u \"%1\""

UIバージョンのProcessExplorerを使用しないのはなぜですか?
パセリエ

5

私はそれが起こったことがあります。時々、最初にコンテンツを削除し、次にフォルダーを空にすることで問題を解決できます(空)。


はい-それは私のために働いた!
TigerTiger

@ Wbdvlpr、@ kpoehls、なぜこれが機能するのですか?それは単なる神話であり、あなたはラッキーだと思います。
パセリエ

3

最速かつ最も簡単なアプローチは、Process Explorerを使用するのではなく、slolifeが述べたようにHandleを使用することです。どちらもマイクロソフトのMark Russinovichによるものです。

今日行ったように、explorer.exeが原因であることに驚かないでください。explorer.exeを再起動する公式の方法がありますが、それを強制終了してタスクマネージャで再度起動することはできそうです。


2

XPを使用していたときWhoLockMeを使用して、どのプログラムがファイルを開いてロックしていたかを調べました。私が見つけた最新のバージョンはVistaについて言及していませんが、一見の価値があります。

場合によっては、手動で内部から完全に削除できます。階層内を下に移動し、すべてのファイルを削除し、ディレクトリを上に移動して繰り返します。Windowsがこれを自分でできない理由はわかりませんが、私にとってはうまくいくことがあります。


2

「使用されていない」という場合、開いているハンドルがないことを意味する場合は、Application Experienceサービスが無効になっていないことを確認してください。その場合は、手動に設定します。

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2

SysInternals(現在のMicrosoft)のHandleを使用しています。フォルダー名の一部を入力して、どのプロセスがそのフォルダーにハンドルを持っているかを確認してから、ハンドルを強制終了できます。

handle64.exe -nobanner "<path>"

例えば:

コマンドラインからのコマンド出力

他の人が述べたように、ハンドルを殺すと深刻な問題を引き起こす可能性があります。


1

メモリフラッシュ(16 GB-おそらく無関係)でも同じ問題が発生し、フォルダーを削除できませんでした。インターネット上で見つかったすべての-おかしな-ソリューション(サムネイルを非表示にし、explorer.exeをシャットダウンしてcmdプロンプトからフォルダを削除するなど)を試しましたが、何も機能しませんでした。何が機能したのですか?さて、これ:

  1. フォルダー内のすべてのファイルを選択します
  2. それらを右クリックして、「カット」を選択します
  3. ルートフォルダーに戻る
  4. それらを貼り付けます
  5. それらを削除する

それは私にとってはうまくいきました。お役に立てば幸いです。:-)


1

他の場所で開かれているため削除できないというフォルダ/プログラムを削除するため。

  • スタートボタンをクリック
  • タイプTaskmgr
  • 開いた新しいウィンドウの[プロセス]タブで、削除しようとしているフォルダー/プログラムを探します。
  • 右クリックしてタスクを終了
  • フォルダ/プログラムの場所に戻って、今すぐ削除できるはずです

0

Ctrl+ Shift+ Esc>「プログラム」を試してから、非アクティブ化するプログラムを右クリックして、非アクティブ化を選択します。その後、もう一度削除してください!

(私のOSはスウェーデン語ですので、翻訳はまったく同じではないかもしれません!


0

ロックされているハンドルがインターネットエクスプローラーであることがよくあります。タスクマネージャーで閉じてからファイルまたはフォルダーを削除するか、エクスプローラーを閉じます。フォルダー/ファイルを削除するようにします... txtファイルを閉じるだけで問題ありません。urフォルダーを削除できます。


なぜIEは、ローカルファイルをロックし、なぜでしょうか.txt
グロノスタジ

0

WinSCPで使用中のdocs.zipファイルがありました。

  1. 同じ名前のdocs.zipを使用して新しいファイルを作成しました
  2. 既存のdocs.zipに貼り付けて、古いファイルを新しい同じ名前のファイルに置き換えました。
  3. 次に、新しくコピーしたファイルdocs.zipをまとめて削除しました。

幸運を


0

既にいくつかの良い答えがありますが、私は何か新しいものを提供するつもりです。それは今日この同じ問題を解決するために使用したものです。

Pythonを使用しました。私は、それがWindowsにネイティブではないことを知っていますが、システム管理者、開発者、スーパーユーザーにとって非常に一般的なユーティリティであり、簡単なワンライナーでこれをノックアウトできます。

from shutil import rmtree; rmtree('C:\path\to\folder')

...ビンゴバンゴ。


-1
  1. 削除するファイルを見つけます。

  2. 名前を好きな名前に変更します。

  3. 消して。


2
この答えは機能しません。ファイルまたはディレクトリが使用されている場合、名前を変更することはできません。
DavidPostill

-2

実行中のファイルまでフォルダに移動します。このファイルを削除しようとすると、実行中のプロセスが表示されます。それを書き留めてから、タスクマネージャに移動してそのプロセスを終了します。その後、フォルダを削除できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.