Computer >> 컴퓨터 >  >> 체계 >> Windows

Windows에서 이상한 문자가 있는 파일을 삭제하는 방법

몇 년에 한 번씩 나는 이 사소한 문제에 직면합니다. Windows 탐색기에서 파일을 삭제하려고 하면 지정된 파일을 찾을(및 삭제할) 수 없다는 오류가 발생합니다. 좋아, 일어난다. 그래서 명령줄로 이동하여 삭제를 수행합니다. 그런데 이번에 신선한 걸림돌을 만났다. 일반적인 삭제 작업은 완료되지 않고 명령 프롬프트에 다음과 같은 메시지가 표시됩니다. 시스템이 지정된 파일을 찾을 수 없습니다.

Samba 공유에서 Xerox B215 프린터로 만든 잠금 파일에서 이 문제가 발생했습니다. 이상한 이유로 프린터에서 실제 파일 이름이 잘려서 "Xerox_Scan.pdf"가 아닌 "Xerox_Scan"으로 이름이 지정되었습니다. 하, 그런데 정말이었나요?

문제

따라서 명령줄에서 다음을 얻습니다.

델 "Xerox_Scan."
시스템이 지정된 파일을 찾을 수 없습니다.

이 시점에서 파일 이름에 Windows 탐색기나 명령 프롬프트에 표시되지 않는 이상한 후행 문자가 있을 수 있음을 깨달았습니다. 사실 이것은 저와 몇몇 동료들이 후배들을 위한 시스템 관리 시험에서 사용했던 약간의 트릭을 생각나게 합니다. DOS의 이전 Alt + 255 트릭과 같이 마지막에 특수 문자가 있는 파일을 만든 다음 누가 알아냈는지 확인합니다. Linux에서는 8진수 덤프 유틸리티(od)를 사용하여 물론 전체 문자 집합을 볼 수 있습니다.

솔루션

Windows에서 접근 방식은 욕심 많은 검색(또는 더 정확하게는 삭제)을 사용하는 것입니다. 여기서 무슨 일이 일어나고 있는지 궁금하다면 정규 표현식을 생각해 보십시오. 지정된 경로의 모든 하위 디렉토리에서 파일(/s)을 찾고 있으며 후행 공백 문자가 0개 이상 있는 파일을 찾고 있습니다. 팔. 작업 완료, 더 이상 추함은 없습니다.

del /s \\?\D:\Scans\Xerox_Scan."
삭제된 파일 - \\?\D:\Scans\Xerox_Scan.

결론

기술적으로 말하면 삭제할 수 없는 파일은 큰 문제가 아니어야 하지만 OCD 수준의 외관상 문제이며 이론적으로 이 파일을 정상적으로 무시하도록 설계되지 않은 경우 백업 스크립트 또는 예약된 작업을 방해할 수 있습니다. 친절한. 따라서 결국 약간의 유지 관리를 수행해야 합니다.

사용할 수 있는 다른 많은 방법이 있습니다. 예를 들어 Process Explorer는 파일을 검색한 다음 공백 문자를 포함하여 삭제할 수도 있습니다. 그러나 간단한 명령줄 정규식 검색 실행이 가장 우아한 솔루션이라는 것을 알았습니다. 어쨌든, 우리의 작업은 짜증나지만 빠르고 고통 없는 해결책이 있습니다. 나중에 뵙겠습니다.

건배.