나는 그 안에 일련의 폴더가있는 디렉토리를 가지고있다. 각 폴더에서 해당 폴더의 모든 파일을 나열하는 텍스트 파일을 만들겠습니다. 파일을 나열하는 형식은 다음과 같습니다.
"001.jpg" "002.jpg" "003.jpg" "004.jpg"
기본적으로 줄 바꿈이없는 파일을 나열해야합니다. Windows 7에서 cmd를 사용하면 어떻게됩니까?
나는 그 안에 일련의 폴더가있는 디렉토리를 가지고있다. 각 폴더에서 해당 폴더의 모든 파일을 나열하는 텍스트 파일을 만들겠습니다. 파일을 나열하는 형식은 다음과 같습니다.
"001.jpg" "002.jpg" "003.jpg" "004.jpg"
기본적으로 줄 바꿈이없는 파일을 나열해야합니다. Windows 7에서 cmd를 사용하면 어떻게됩니까?
답변:
당신은 CMD 쉘만을 사용하여 원하는 결과를 얻을 수 있습니다. forfiles , ...에 대한 과 지연 변수 확장 (또한보십시오 : cmd ).
배치 파일을 만듭니다 (예 : C:\jpglist.bat ) 다음 지시 사항을 저장하십시오.
@echo off
if %2 == FALSE exit
cd /D %1
for %%a in (*.jpg) do set list=!list! "%%a"
echo %list:~1%> jpglist.txt
명령 프롬프트를 엽니 다.
실행
forfiles /P PATH /S /C "cmd /V:on /C C:\jpglist.bat @path @isdir"
어디에 통로 주 디렉토리의 전체 경로입니다.
배치 파일은 더 이상 필요하지 않습니다. 원하는 경우 삭제하십시오.
명령 :
forfiles /P PATH /S /C "..." 재귀 적으로 이동 함 ( /S ) ~을 통해 통로 및 하위 디렉토리 및 실행 ... 모든 디렉토리 항목에 대해.
cmd /V:on /C ... 지연된 변수 확장을 사용하는 새 셸을 엽니 다 ( /V:on )를 실행하고 ....
C:\jpglist.bat @path @isdir 배치 파일을 호출하고 첫 번째 매개 변수로 항목의 전체 경로를 전달합니다.
@isdir 될거야 참된 만약 @path 디렉토리입니다; 그렇지 않으면 그릇된 .
배치 파일 :
if %2 == FALSE exit 첫 번째 인수가 디렉토리가 아닌 경우 즉시 종료됩니다.
cd /D %1 첫 번째 인수에 지정된 디렉토리로 변경됩니다 ( /D 필요할 경우 드라이브 스위칭 가능).
for %%a in (*.jpg) do set list=!list! "%%a" 와 모든 파일을 통해 간다. .jpg 확장명을 지정하고 변수에 이름을 추가합니다. 명부 .
사용 !list! 대신에 %list% 변수의 확장을 지연 시키며, 명부 처음부터 한 번만 반복되는 것이 아니라 모든 반복에서 확장됩니다.
echo %list:~1%> jpglist.txt 변수의 내용을 쓴다. list (선두 문자가 될 첫 번째 문자 제외) jpglist.txt 현재 디렉토리에서.
xargsWindows 용 명령? Powershell을 사용하지 않습니까?