プログラムでロックされたフォルダのロックを解除または削除する

プログラムでロックされたフォルダのロックを解除または削除する

1. 要約

コマンドライン インターフェイスを使用して、すべてのサブフォルダーを含むロックされたフォルダーのロックを解除または削除する方法が見つかりません。


2. 議論

プロジェクトに取り組んでいます。たとえば、ソース フォルダー — sources、出力フォルダー — ですoutput。 でファイルを表示したり、テストの変更を加えたりしますoutput→ に変更を追加しますsources→ ビルド コマンド ( など) を実行します。buildこれにより が上書きされるはずですoutput。しかし、build正しく起動しません。

使用中のフォルダ

使用中のフォルダ

フォルダまたはその中のファイルが別のプログラムで開かれているため、アクションを完了できません

フォルダまたはファイルを閉じてもう一度お試しください

そのため、build起動する前に毎回LockHunterを開いて→ロックを解除してoutput→実行しましたbuild

output事前にロック解除または削除のコマンドを実行できればbuild、毎回 LockHunter を手動で実行して時間を費やす必要がなくなるので便利です。


3. MCVE

フォルダを作成KiraUnlockCLI→ コマンドプロンプトを開く →KiraUnlockCLIその中に移動 ( cd KiraUnlockCLI) →KiraUnlockCLIロック:

フォルダがロックされています

プログラムでロックを解除または削除する必要がありますKiraUnlockCLI


4. 要件

  1. あらゆる種類のプログラムでoutputフォルダーやその中のファイルをロックできます。例:

    1. Windowsエクスプローラ
    2. コマンド・プロンプト
    3. テキストエディタ
    4. ブラウザ
    5. 画像ビューア
  2. outputソリューションでは、ファイルだけでなくフォルダーのロックを解除する必要があります。フォルダーとそのサブフォルダー内のすべてのファイルをサードパーティのプログラムで開くことができます。

  3. 相対パスをサポートする必要があります。output私、他の開発者、継続的インテグレーション (Travis CI、AppVeyor) ごとに異なるディレクトリに配置されます。

5. 助けられなかった

5.1. 相対パス

  1. ロックハンター相対パスはサポートされていません。

    2019年9月の初めに私は問題を書いた→ 私は自分の問題についてLockHunterフィードバックフォーム→ フィードバックを受け取っていません。

5.2. フォルダのサポート

これらのプログラムはフォルダーではなくファイルのロックを解除できます。

  1. ファイルASSASSIN:

    FileASSASSIN /unlock /silent KiraUnlockCLI
    
  2. ビジー削除

5.3. 特定のPID

  1. ハンドル— ロック解除には PID が必要です。ただし、任意の PID のプロセスを強制終了する必要があります。質問の 4.1 項目を参照してください。

5.4. GUI

これらのプログラムのコマンドライン インターフェイスに関する情報は見つかりませんでした。

  1. IObit ロック解除
  2. ITのロックを解除

5.5. 動作しない

  1. rm -rf KiraUnlockCLIrmからGNUWin32 の):

    /usr/bin/rm: cannot remove 'KiraUnlockCLI`: Device or resource busy
    
  2. 開いたファイルビュー— このコマンドを実行しても効果はありません:

    openedfilesview /closefolder closeprocess killprocess KiraUnlockCLI
    
  3. ロックミー Windows 10では動作しません

  4. ロック解除者unlocker D:\SashaDebugging\KiraUnlockCLI:

    ロック解除者

    ロックハンドルが見つかりません。

    ただし、Unlocker はこのオブジェクトの処理に役立ちます。

    オブジェクトに対して実行するアクションを選択します。

  5. デッドロックコマンドラインインターフェース経由でフォルダのロックを解除することはできません。私の問題DeadLock 問題追跡ツールへ。


6. 提供しない

  1. 私は知っている副作用; フォルダーのロックを解除する必要がないなんて言わないでください。
  2. 質問を投稿する前に、以下の SuperUser の質問とそれに対する回答を読みました。

    1. 空のフォルダは使用中のため削除できません
    2. コマンドラインからロックされたファイルを処理して解放する方法はありますか?
    3. 使用中のフォルダーを削除するにはどうすればよいですか?
    4. プログラムで開かれている場合でも、Windows のコマンド ラインからディレクトリを削除します。
    5. コマンドラインからロックされたファイル/フォルダを削除する
  3. 私はプログラムをチェックしましたこのリストUnlocker サイトで。

答え1

IOBit Unlocker を見つけてから (約 10 年前)、あなたが提供してくれたものやその他いくつかのものをすべて使用しなくなりました。なぜでしょうか? IOBit Unlocker は、どんな場合でもファイルやフォルダーを削除し、インターフェイスがきれいで、自動化もできます (質問どおり)。数年後、保護され使用中の Avast AV ファイルも削除するというオンライン記事を見つけました。

必要に応じて、インストールしてそのままにしておくことも、ファイルを取得してスタンドアロンで使用することもできます (IObitUnlocker.exe /?コマンドライン ヘルプを表示するには、を使用します)。

インストール済み:

IObitUnlocker.exe /Delete /Advanced <folder>

スタンドアロン:

cd <app folder>
sc create IObitUnlocker type= kernel start= demand binPath= "IObitUnlocker.sys"
IObitUnlocker.exe /Delete /Advanced <folder>
sc delete IObitUnlocker
rd /S /Q %AllUsersProfile%\IObit

自動化の面での欠点は、アクションの後にメッセージが表示されることですが、 を使用することができますtimeout /T <time> && taskkill /IM IObitUnlocker.exe。 は、<time>フォルダーの内容/階層、使用中のファイルの数、システムの速度、CPU/HDD の負荷によって異なります。ロック解除には昇格が必要であることに注意してください。

AutoHotKey を使用すると、ダイアログの閉じ方 (および考えられるあらゆる UI 操作) を非常に簡単に自動化できます。

SetTimer, DismissUnlocker, 1000
DismissUnlocker() {
  If WinExist("IObit Unlocker ahk_class #32770")
    ControlClick, Button1
}

関連情報