Windows 명령줄에서 DIR 명령을 사용하여 특정 확장자의 파일 제외

Windows 명령줄에서 DIR 명령을 사용하여 특정 확장자의 파일 제외

예를 들어 dir 목록을 사용하여 특정 확장자의 파일만 보려면 다음 명령을 사용하면 됩니다.

DIR *.txt 

그리고 확장자를 가진 모든 파일을 표시합니다 .txt.
이제 특정 확장자를 제외할 수 있는 명령이 있는지 알고 싶습니다.
예를 들어 확장자가 .인 파일을 보고 싶지 않은 경우 .exe어떻게 해야 합니까?

답변1

DIR은 당신이 하려는 일을 허용하지 않습니다. 그러나 FINDSTR과 함께 DIR을 사용하면 이 문제를 해결할 수 있습니다.

예를 들어 다음은 DIR 목록의 모든 .txt 파일을 무시합니다.

dir | findstr /v /i "\.txt$" 

답변2

dir /B | find /V ".txt"

그러면 모든 파일이 나열되고 find는 ".txt"를 포함하지 않는 모든 파일을 필터링합니다. 완벽과는 거리가 멀지만 어쩌면 충분할 수도 있습니다 :)

답변3

명령 해석기에 따라 다릅니다.

.cmddir​그러나 도구의JP 소프트웨어의 TCC/LE이 기능이 있습니다. 그것은파일 제외 범위귀하의 질문에 대한 예에서는 다음과 같이 사용됩니다.

디렉토리 /[!*.exe] *

답변4

이를 위해 를 사용하여 매크로를 정의합니다 DOSKEY. 디렉토리를 제외하고 대소문자를 무시했습니다 – YMMV. 또한 필터링, 작업 에 부적절하고 긴 형식 (기본값) 및 경우에 따라 파일 이름 뒤에 추가 텍스트(심볼릭 링크용)를 포함하는 /B가장 합리적인 옵션인 것 같습니다 . 명령줄에서 확인하세요.DIR/D/W/N/X

DOSKEY  FIR=DIR/B/A-D^|FINDSTR /VIE $*
DOSKEY FLIR=DIR/X/A-D^|FINDSTR /VIE $*

FIR~을 위한거르는 DIR, 알았어? :) 그리고 FLIR필요한 경우 긴 버전에도 적용됩니다. 그런 다음 다음과 같이 사용하십시오.

fir .jpg
flir jpg
fir "jpg htm"

FINDSTR후자는 에 설명된 대로 인수로 제공된 패턴을 읽는 방법 때문입니다 /?. 첫 번째 인수만 패턴으로 처리되고 추가 인수는 파이프에서 실행되는 경우에도 파일 이름으로 해석됩니다.

나는 줄 끝에서만 필터링하는 펑키한 스위치가 있기 때문에 FINDSTR일반보다 선호합니다 . 이는 파일 확장자(그러나 다시 YMMV)로 필터링할 때 더 선호되는 것 같습니다.FIND/E

편리한SS64 사이트영구적으로 재사용할 수 있도록 파일 에 매크로를 설정하는 방법을 설명합니다 TXT. ^텍스트 파일에 저장된 매크로의 특수 문자를 이스케이프하는 캐럿이 없다는 점에 주의하세요 .

매크로("콘솔 별칭")가 내부적으로 작동하는 방식에 대한 기본 사항을 이해하려면 다음을 읽어보세요.SO에 대한 Eryk Sun의 간략한 의견.

관련 정보