Написание программы пакетного файла с использованием подстановочных знаков - PullRequest
0 голосов
/ 12 июля 2020

Напишите пакетную программу под названием EX4.BAT, которая перечисляет все файлы, соответствующие любому из следующих критериев, в пределах root диска C: и вниз по его подкаталогам:

a) Файлы с расширением из .COM и иметь в имени файла 4 буквы. например, chcp.com, mode.com et c.

b) .EXE файлы, вторая буква которых I например, WINHELP.EXE DIAGS.EXE et c.

Убедитесь, что вывод не прокручивается вверх по экрану слишком быстро. Поместите команду pause между частями a) и b)

Я пробовал следующее:

cd\ Rem  to return to the root folder of C
dir ????.com /b/s Rem  COM files with 4 letters
pause Rem to pause the screen
dir ?I*.exe /s Rem  search EXE files whose 2nd letter is I 

Для части a), делая это так, принимайте также числа, я должен убедитесь, что он принимает только буквы. Я пытался использовать регулярное выражение, но безуспешно.

1 Ответ

0 голосов
/ 13 июля 2020

Вот базовый c пример одного метода выполнения задачи, изложенной в вашем вопросе, без уточнения, запрошенного в области комментариев.

@Echo Off
Setlocal EnableExtensions
Set "PATHEXT="
(   "%__APPDIR__%where.exe" /R C:\ ????.com |^
     "%__APPDIR__%findstr.exe" /E /I /R "\\[a-Z]*\.com"
    Echo(
    Echo Press any key to continue . . .
    Pause 1> NUL
    "%__APPDIR__%where.exe" /R C:\ ?I*.exe
) 2> NUL | "%__APPDIR__%more.com"
EndLocal
Pause

Как это ясно 'домашнее задание' Я не буду давать никаких объяснений команд, которые я использовал, или почему я это сделал, я также не буду корректировать свой код, чтобы удовлетворить последующие добавления или изменения в задаче. Также важно помнить, что, поскольку технически это чужая работа, вы не должны представлять ее, если полностью не понимаете, как и почему она работает.

...