2016-11-02 3 views
0

"alpha"와 일치하는 폴더에있는 파일의 모든 파일 이름과 크기를 인쇄하고 싶습니다.특정 이름과 일치하는 폴더에 포함 된 모든 파일과 파일 크기를 나열하는 명령?

나는 dir /s 재귀 적으로 모든 파일 이름과 전체 디렉토리의 크기와 하위 디렉토리를 인쇄 할 수 이해하지만 내 경우 알파 (특정 문자열과 일치하는 폴더의 표시 내용에 대한 명령을 쓰는 방법을 모르는) 파일 경로에. 예를 들어

이 내 디렉토리 인 경우 : 내가 좋아하는 것
C:\Users\raigovind93\Documents\1\alpha\doc1.txt 
C:\Users\raigovind93\Documents\2\1\1\alpha\doc2.pptx 
C:\Users\raigovind93\Documents\2\1\1\alpha\apple\doc3.xslx 

인쇄하기 :
doc1.txt 20020 bytes 
doc2.pptx 102002 bytes 
doc3.xslx 289 bytes 

그리고 선명도을 위해

, 당신은 파일과 함께 폴더를 보여줍니다 모두 답을 보여줄 수있는 경우 이름 (명령의 정확성을 확인하기 위해)과 폴더가없는 이름은 매우 유용합니다!

답변

0

보십시오 당신은 너무 다른 명령에 파이프 사용 '발견'할 수

dir /s |find /I "\alpha\" 

를 사용하여. 명령 줄에서

+0

안녕하세요 짐,이 명령을 시도했습니다.이 알파 폴더에 도달 할 것으로 보이지만 알파 폴더 안에 내용을 인쇄하지 않습니다. –

+0

검색 문자열은'\ alpha \'로 읽어야합니다. 왜냐하면'alpha'도'alphabet'와 같은 디렉토리와 잘못 일치하기 때문입니다; 또한 파일 경로/이름을 처리하는 Windows의 기본 방법 인 대/소문자를 구분하지 않고 파일 이름을 처리하기 위해 찾기 위해/I 스위치를 추가하십시오. – aschipfl

0

: batchfiles에 사용

for /r %a in (*) do @echo %a %~za bytes|find /i "\alpha\" 

더블 퍼센트 징후 :

for /r %%a in (*) do @echo %%a %%~za bytes|find /i "\alpha\" 

은 자세한 내용 for /?를 참조하십시오. 베어 목록 (/B), 다음 파이프 (|) find /I "\alpha\"로 인해 반복적으로 현재 작업 디렉토리 (/S)의 모든 파일 (/A:-D)을 반환하는

+0

Stephan 여기서 명령에서 파일 경로를 지정하겠습니까 ? 매핑 된 드라이브로 작업하고 있으므로 디렉토리 자체에 절대 들어 있지 않습니다. –

+0

또한 명령을 실행하면 내부 또는 외부 명령 (예 : 파일 이름의 첫 번째 단어 인 것처럼 보임) 오류 메시지로 인식되지 않기 때문에 오류가있는 것 같습니다. 명령과 함께. –

+0

시작 경로는'for/r "y : \ 서버 경로 \"% a in (*) do ...'또는'for/r "\\ 123.123.123.123 \ 서버 경로 \"% a in (*) 할'. 오류 메시지를 재현 할 수 없습니다. – Stephan

0

사용 dir /B /S /A:-D는 경로의 경우 \alpha\를 포함하는 항목을 필터링하기 -insensitively (/I); 다음 for /F 루프에 의해 출력을 구문 분석 :

for /F "eol=| delims=" %F in ('dir /B /S /A:-D ^| find /I "\alpha\"') do echo %~nxF %~zF bytes 

는, 반환 된 항목의 전체 경로를 포함 %~fF에 의해 %~nxF를 교체하려면.

배치 파일에서이 명령 줄을 사용하려면 % 기호를 두 번 기억하십시오.

+0

이것은 매우 가깝습니다!파일 크기도 필요합니다 (질문의 일부)! –

+0

코드는 파일 크기도 반환합니다.'% ~ zF' 부분을보십시오 ... – aschipfl