2012-10-31 9 views
1

시간을 절약하기 위해 배치 파일을 만들려는 명령 줄을 통해 실행해야하는 프로그램이 있습니다. 특정 확장명을 가진 동일한 디렉토리의 파일을 찾은 다음 exe를 실행하여 파일을 조작합니다. 같은 뭔가 : .ext 그것은을 찾고 확장의 올바른 형식의 파일입니다일괄 처리로 파일 디렉터리 확인 후 실행

example.exe option1 *.ext 

. 파일 유형은 일반적으로 파일 이름이 다르지만 항상 동일한 확장자입니다. 이 옵션은 프로그램에서 사용법을 알고 있으므로 무시해도됩니다.

트릭 나는 동일한 이름이지만 확장자가 같은 동일한 디렉토리에 다른 파일이없는 경우에만 실행하고 싶습니다.

배치 파일에서 IF 문을 사용할 수 있다는 것을 알았지 만 어떻게 수행 될지 전혀 알지 못합니다. 어떤 아이디어?

답변

1
echo off 

REM search .txt files. 
for %%f in (*.txt) do (
    REM skip if a .log file with the same name exists. 
    if not exist %%~nf.log (

    echo Now executing %%f 
    notepad.exe %%f 
    REM Terminate the loop after the first succesful file 
    goto end 

) else (
    echo Skipping %%f 
) 
) 

echo Nothing to process. 

:end 
pause 
+0

감사합니다! 나는 이것의 버전으로 작업을 바로 잡을 수 있었다. 나 한테 시간을 절약 해 줄거야! –

2

당신은 파일을 통해 자신을 반복 할 수

for %%x in (*.ext) do (
    if exist %%~n.someotherext example.exe option1 "%%x" 
) 
+0

나는이 단순함이 마음에 들었지만 필자가 필요로하는 바를 제대로 작동 시키기에는 충분히 경험이 없다. 나는 정말로 혼란 스러웠다. 나는 해결책을 생각해 낼 수 있었다. 나를 도와 주려고 시간을내어 주셔서 감사합니다! –

+0

@AngelaGiese - Jay의 답변에 설명이 추가되었습니다. 표시되는 데 몇 시간이 걸릴 수 있습니다. –

관련 문제