프로그래밍 방식으로 잠긴 폴더 잠금 해제 또는 삭제

프로그래밍 방식으로 잠긴 폴더 잠금 해제 또는 삭제

1. 요약

명령줄 인터페이스를 통해 모든 하위 폴더가 포함된 잠긴 폴더를 잠금 해제하거나 삭제하는 방법을 찾을 수 없습니다.


2. 논증

나는 프로젝트를 진행 중입니다. 예를 들어 내 소스 폴더 — sources, 출력 폴더 — output. 파일을 보거나 테스트 변경 output→ 변경 사항 추가 → 빌드 명령( 예: ) sources을 실행합니다 . 이 명령은 를 덮어써야 합니다. 하지만 올바르게 시작되지 않습니다.buildoutputbuild

사용 중인 폴더

사용 중인 폴더

해당 폴더나 파일이 다른 프로그램에서 열려 있으므로 작업을 완료할 수 없습니다.

폴더나 파일을 닫고 다시 시도하세요.

따라서 build시작할 때마다 LockHunter를 열고 → 잠금 해제 output→ 실행했습니다 build.

output이전에 잠금 해제 또는 삭제 명령을 실행할 수 있다면 build시간을 낭비하면서 매번 LockHunter를 수동으로 실행할 필요가 없다는 것이 좋을 것입니다.


3. MCVE

폴더 생성 KiraUnlockCLI→ 명령 프롬프트 열기 → KiraUnlockCLI해당 폴더로 이동( cd KiraUnlockCLI) → KiraUnlockCLI잠김:

폴더가 잠겼습니다.

프로그래밍 방식으로 잠금을 해제하거나 삭제해야 합니다 KiraUnlockCLI.


4. 요구사항

  1. 모든 유형의 프로그램은 output폴더 및/또는 파일을 잠글 수 있습니다. 예:

    1. 윈도우 익스플로러
    2. 명령 프롬프트
    3. 텍스트 에디터
    4. 브라우저
    5. 이미지 뷰어
  2. 솔루션은 파일만 잠금 해제하는 것이 아니라 폴더 잠금을 해제해야 합니다. 타사 프로그램에서 해당 파일 output과 해당 하위 폴더를 열 수 있습니다.

  3. 상대 경로가 지원되어야 합니다. output나와 다른 개발자 및 지속적 통합(Travis CI, AppVeyor)의 다른 디렉토리에 있습니다.

5. 도움이 되지 않았다

5.1. 상대 경로

  1. 록헌터상대 경로를 지원하지 않습니다.

    저는 2019년 9월 초에문제를 썼다→ 나는 내 문제에 대해 다음과 같이 말했습니다.LockHunter 피드백 양식→ 피드백을 받지 못했습니다.

5.2. 폴더 지원

이러한 프로그램은 폴더가 아닌 파일의 잠금을 해제할 수 있습니다.

  1. 파일암살자:

    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 KiraUnlockCLI( rm에서GnuWin32):

    /usr/bin/rm: cannot remove 'KiraUnlockCLI`: Device or resource busy
    
  2. 열린파일보기— 이 명령 이후에는 효과가 없습니다.

    openedfilesview /closefolder closeprocess killprocess KiraUnlockCLI
    
  3. WhoLockMe Windows 10에서는 작동하지 않습니다.

  4. 잠금 해제기unlocker D:\SashaDebugging\KiraUnlockCLI:

    잠금 해제기

    잠금 핸들을 찾을 수 없습니다.

    그러나 Unlocker는 이 개체를 처리하는 데 도움을 줄 수 있습니다.

    개체에 대해 수행할 작업을 선택합니다.

  5. 이중 자물쇠명령줄 인터페이스를 통해 폴더를 잠금 해제할 수 없습니다. 보다내 문제DeadLock 문제 추적기에.


6. 제안하지 마세요

  1. 나는 알고 있다부작용; 폴더 잠금 해제가 필요하지 않다고 말하지 마세요.
  2. 질문을 게시하기 전에 다음 슈퍼유저 질문과 답변을 읽었습니다.

    1. 빈 폴더는 사용 중이므로 삭제할 수 없습니다.
    2. 명령줄에서 잠긴 파일을 처리하고 해제할 수 있는 방법이 있습니까?
    3. 사용 중인 폴더를 어떻게 삭제하나요?
    4. 프로그램에서 열려 있는 경우에도 Windows 명령줄에서 디렉터리 삭제
    5. 명령줄에서 잠긴 파일/폴더 삭제
  3. 내가 확인한 프로그램은이 목록Unlocker 사이트에서

답변1

IOBit Unlocker를 발견한 이후(약 10년 전) 귀하가 제공한 모든 제품과 기타 일부 제품의 사용을 중단했습니다. 이유는 무엇입니까? 실제로 무슨 일이 있어도 파일/폴더를 삭제하고 인터페이스가 깔끔하며 (요청한 대로) 자동화할 수도 있습니다. 몇 년 후 저는 이 프로그램이 잠재적으로 사용 중인 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
}

관련 정보