2010-07-30 6 views
0

프로그램에서 반환하는 파일의 이름을 나열하는 스크립트를 만들려고합니다.박쥐 : 명령의 파일 이름을 추출하는 방법

이 프로그램은 ShowFiles.exe라고하며 다음과 같이 인수에 소요되는 :

다음은 결과 외모 "..."

"ShowFiles opened ..." 

그래서 인수 1 "개방"하고 인수 2가 like :

c:\tmp\test1.txt#0 - add default 
c:\tmp\test2.TXT#1 - edit default 

내가 원하는 것은 파일의 이름 만 얻는 것입니다. 이처럼

:

test1.txt 

test2.txt 

덕분에 어떤 도움을 많이.

+0

dir/B의 문제점은 무엇입니까? – Hut8

+0

함께 작업해야하는 데이터는 무엇입니까? 여기에있는 모든 솔루션은 항상 'dir'출력을 사용하고 이에 맞게 조정됩니다. 스스로 솔루션을 찾을 수 없기 때문에 솔루션을 채택 할 수 없다는 것을 보장합니다. – Joey

+0

@bow : 그들이 쓴 것을 읽으십시오. 문제의 명령은 'dir'이 아니라 다른 것입니다. – Joey

답변

3

당신은 명령 출력을 반복 for /f를 사용할 수 있습니다

for /f %%F in ('ShowFiles ...') do ... 

이 토큰 화를 수행하는 방법을 제어 몇 가지 옵션이 걸릴 수 있습니다.

for /f "tokens=1 delims=#" %%F in ('ShowFiles ...') do (
    echo File name: %%F 
    echo File name without path: %%~nxF 
) 

그런 다음 위의 원하는 영역에 나와있는 것처럼 파일 이름을 사용할 수 있습니다 : 다음은 #에서 분할하고 첫 번째 토큰을해야 귀하의 경우, 파일 이름은 분명히하는 #에서 멈 춥니 다. 출력하기 만하면 간단히 echo %%F 또는 echo %%~nxF이면 충분합니다. 자세한 내용은 help for에서 확인할 수 있습니다.

관련 문제