после того, как я получил критиков за то, что они не задали вопрос правильно, я снова вернулся с тем, что я считаю лучшим способом. Я пытаюсь решить домашнее задание, в котором я должен написать командный файл, и я застрял.
Когда этот пакетный файл вызывается в CMD, он получает 4 параметра:
- (1) Путь к некоторому каталогу с \ в конце; пример: C: \ Users \ PC \ Desktop \
- (2) расширение файла; пример: txt
- (3) Некоторая строка; пример: "ab"
- (4) целое число; пример: 3
Цель этого пакетного файла - найти все файлы X с расширением (2) в локальном каталоге и все подкаталоги, полученные (1), имеющие более (4) строк в них, имеющие подстроку (3), и запись в консоли следующее предложение:
"Файл X имеет более (4) залоговых прав, более точный Y, которые имеют подстроку (3)". Где X - полный путь файла, который удовлетворяет этим условиям, а Y - точное количество строк, в которых найдена подстрока.
Ввод в консоли должен быть следующим: myfile.bat C: \ Users \ PC \ Desktop \ txt ab 3
Моя попытка решить эту проблему была такой:
@echo off
for %%a in ('dir /s %1*.%2') do (
for /f "delims= " %%G in ('find /c "%3" ^<%%a') do (
set linecount=%%G
if %linecount% gtr %4 (
echo File %%a has more than %4 lines, more precisley %linecount% which have substring %3
)
)
)
Надеюсь, на этот раз я сделал это частично правильно.