2013-11-25 3 views
0

мне нужно перебрать все .c файлов в каталоге с помощью пакетного файла, так что я сделал:Пакетный формат файла спецификатор

for %%f in (*.c) do (

Но я не хочу файл main.c, которые будут включены в это. Есть ли способ пойти:

for %%f in (*.c apart from main.c) do (

UPDATE: Каков правильный формат для этого?

for %%f in (*.c) do (
if %%~nf==main goto nope 

; do stuff here 

:nope 
) 

Я только что получил ") было неожиданным в это время."

+0

Любой 'goto' внутри' for'statement ломает свой цикл - даже если цель находится внутри цикла. Так эффективно ': nope' логически выходит за пределы цикла - и, следовательно,') 'дает ошибку. Для решения вашей проблемы уже есть два действительных ответа. – Stephan

ответ

0

использование if для этого внутри for петли

EDIT:

for %%f in (*.c) do if "%%f" NEQ "main.c" echo %%f 
0

Это будет делать это:

for /f %%a in ('dir /s /b /od *.c^|findstr /i /v "main.c"') do echo %%a 
Смежные вопросы