диапазон чисел в файле BAT - PullRequest
0 голосов
/ 11 сентября 2011

Эта тема создана для меня, и у меня есть 2 вопроса по этому поводу: 1. Итак, если я хочу 2 неизвестных токена, мне нужно написать это?

filename??.txt

2. Если «или определенный диапазон чисел» в этой теме не очищен, я имел в виду, что мне нужно выполнить такую ​​команду -

if exist filename[0-9].txt (
bla bla
bla bla
)

[0-9] сообщит CMD, что мне нужен диапазон чисел (который я буду устанавливать) после «имени файла». Но ? хорошо, я просто хочу знать, возможно ли то, что я спросил.

Спасибо:)

Редактировать: У меня проблема с этим-

for /l %%i in (0,1,99) do if exist at%%i* (
set found=y
set num3=%%i
pause
goto forexit
)
:forexit
bla bla
bla bla

Каким-то образом цикл выполняется снова и снова, более чем в 99 раз, как и должно быть. Бесконечный цикл (я вижу часть паузы каждый раз). Что может быть причиной этого? Благодаря.

Редактировать 2: Проблема решена. Пожалуйста, оставьте эту тему открытой.

1 Ответ

3 голосов
/ 11 сентября 2011

Вы можете сделать что-то вроде:

FOR /L %%i in (0,1,9) do if exist filename%%i.txt ...

Или, если я понимаю ваш комментарий, вы хотите выполнить действие, если хотя бы один из файлов существует, что вы можете сделать следующим образом:

SET FOUND=
FOR /L %%i in (0,1,9) do if exist filename%%i.txt SET FOUND=Y
IF "%FOUND%" = "Y" ...

Из комментариев

Как мне остановить команду for / l (FOR / L %% i in (0,1,9) сделать, если существует имя файла %% i.txt (+ введите затем + больше команд +)), пока она выполняется?

Если я правильно понял вопрос, вы хотите обработать только первый соответствующий файл. Вы можете сделать что-то вроде:

FOR /L %%i in (0,1,9) do if exist "filename%%i.dat" (
echo filename%%i.dat
...
goto :MYLABEL
)

:MYLABEL
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...