시스템에서 파일이나 폴더를 삭제하려고 할 때 '잘못된 파일 핸들(Invalid file handle)'이라는 오류 메시지가 나타나는 경우가 있습니다. 이 오류는 삭제하려는 파일이나 폴더의 이름이 Windows에서 사용하는 예약된 이름(reserved name)일 때 발생합니다.
Windows 운영체제는 특정 이름을 시스템 용도로 미리 지정해 두기 때문에, 파일 탐색기에서는 해당 이름으로 파일이나 폴더를 생성하는 것 자체가 차단됩니다. 하지만 스마트폰이나 Linux 같은 다른 운영체제에서 전송받은 파일이라면 예약된 이름을 가질 수 있으며, 이런 파일을 삭제하려고 할 때 위와 같은 오류 메시지가 표시되는 것입니다.

Microsoft 명명 규칙
Microsoft의 명명 규칙에 따르면, 시스템 내 파일이나 폴더에는 다음과 같은 이름을 사용해서는 안 됩니다.
CON, PRN, AUX, NUL, COM1~COM9, LPT1~LPT9
이 이름들은 Windows 운영체제에서 특정 목적으로 사용되는 예약어이기 때문입니다. 또한 위 이름 뒤에 확장자를 붙이는 것도 피해야 합니다. 예를 들어 NUL.txt처럼 이름을 지정하면 문제가 발생할 수 있습니다. 더 자세한 내용이 필요하다면 Microsoft 공식 웹사이트의 관련 문서를 참고하시기 바랍니다.
Windows 10에서 '잘못된 파일 핸들' 오류가 발생하는 원인
Microsoft의 명명 규칙을 살펴보면 이 오류가 발생하는 이유는 매우 명확합니다.
- 파일/폴더 이름이 예약된 이름인 경우: 삭제하려는 파일이나 폴더의 이름이 CON, NUL 등과 같은 예약어로 지정되어 있으면 이 오류 메시지가 나타납니다. Microsoft는 예약된 이름의 사용을 금지하고 있으므로, 이러한 이름은 일반적인 방식으로 다룰 수 없습니다.
오류의 원인을 파악했다면, 아래의 해결 방법을 따라 문제를 해결할 수 있습니다.
명령 프롬프트로 파일·폴더 삭제하기
예약된 이름을 가진 파일은 사용도, 일반적인 방법을 통한 삭제도 불가능합니다. 따라서 이러한 파일이나 폴더를 삭제하려면 명령 프롬프트 명령어를 활용해야 합니다.
폴더(디렉터리)를 삭제할 때 오류가 발생한다면, 아래 단계를 따라 진행하세요.
- Windows 키 + X를 누른 후 목록에서 명령 프롬프트(관리자)를 선택하여 관리자 권한 명령 프롬프트를 엽니다.
- 관리자 권한 명령 프롬프트가 열리면 다음 명령어를 입력합니다.
rd \\.\c:\documents\con /S /Q

- 위 명령어에서 경로는 상황에 맞게 변경하되, 경로 앞의 '\\.' 부분은 반드시 그대로 유지해야 합니다. 다른 예시는 다음과 같습니다.
rd \\.\\E:\con /S /Q
참고 사항
- /S: 지정된 디렉터리 내부의 모든 하위 디렉터리까지 함께 삭제하도록 rd 명령에 지시합니다.
- /Q: 확인 메시지 없이 조용히(silently) 내용을 삭제하도록 지시합니다. 즉, 별도의 확인 창이 표시되지 않습니다.
- \\.: 현재 시스템을 가리키는 경로 접두사입니다.
파일을 삭제하려는 경우에는 다음과 같이 진행하세요.
- 앞서 설명한 방법과 동일하게 관리자 권한 명령 프롬프트를 엽니다.
- 다음 명령어를 입력하고 Enter 키를 누릅니다.
del \\.\\c:\Temp\con.txt

- 파일을 삭제할 때는 폴더와 달리 파일의 확장자까지 포함하여 경로를 지정해야 하며, rd 대신 del 명령어를 사용합니다.
이상으로 예약된 이름으로 인해 삭제되지 않던 파일이나 폴더를 성공적으로 제거할 수 있습니다. 앞으로 외부 기기나 다른 운영체제에서 파일을 받을 때는 이름에 예약어가 포함되어 있지 않은지 먼저 확인하는 것이 좋습니다.