Пакетный файл регулярное выражение для поиска файлов с цифрой в имени - PullRequest
6 голосов
/ 11 сентября 2011

Мне нужен пример пакетного файла, который использует регулярное выражение для поиска файлов с цифрой в имени или определенным диапазоном чисел.

Есть ли способ сделать это?Простой пример?

Ответы [ 3 ]

10 голосов
/ 12 сентября 2011

Часть этого кредита идет на ответ YAP.

Следующий код даст вам каждый файл в каталоге, в котором хотя бы одна цифра будет в имени файла:

@Echo Off
CD C:\Folder\To\Process
Dir /B>Dir.temp
FindStr /R "[0-9]" "Dir.temp">FindStr.temp
Del Dir.temp
For /F "tokens=*" %%a In (FindStr.temp) Do Call :WorkIt "%%a"
Del FindStr.temp
Exit /B

:WorkIt
:: Insert code here.  Use %1 to get the file name with quotes.  For example:
Echo Processing %1...
Exit /B

The *В строке 1006 * содержится выражение регулярного выражения.Версия регулярных выражений для командной строки ограничена.Какой точный диапазон вы используете и в каком формате имена файлов?

Если, например, вы знаете, что все файлы имеют 3-значные номера, вы можете ограничить его всеми элементами от 000 до 299 с помощьювыражение [0-2][0-9][0-9].

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

Я предполагаю, что вы о командных файлах командной строки / MS-Dos здесь?

Если вы, к сожалению, ответите НЕТ, ЕДИНСТВЕННЫЕ подстановочные знаки, которые поддерживаются простыми старыми пакетными файлами:

    * = match all

а?= Совпадение 1

, поэтому:

      mytune*.mp?

будет соответствовать:

      mytune01.mp3, mytune01.mpg, mytune-the-best.mpe

Однако существует альтернатива ...

Если вы используетесовременная версия для Windows, то есть вероятность, что у вас установлена ​​Power-Shell, нажмите

start-> run, затем введите Power-Shell и нажмите Return, если вы получаете то, что выглядит как окно командной строки, открытое тогдаЕсли он у вас установлен, если нет, то загрузите его на сайте MS.

Если у вас есть это, если вы хотите погрузиться в него, вы можете найти все, что вам нужно на Reg-ex - это PS здесь:

http://powershell.com/cs/blogs/ebook/archive/2009/03/30/chapter-13-text-and-regular-expressions.aspx

Однако я бы рекомендовал сначала потратить час или около того на изучение основ.

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

есть в findstr.Проверить ЭТО

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