Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82

Поиск в каталоге подкаталога с указанным именем

27.11.2020, 10:39. Показов 4233. Ответов 89

Студворк — интернет-сервис помощи студентам
из идей - воспользоваться циклом for(нет точного понимания как)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2020, 10:39
Ответы с готовыми решениями:

В заданном каталоге и его подкаталогах найти и удалить файлы c указанным именем и с определёнными расширениями
Здравствуйте) Вот такое задание у меня: В заданном каталоге и его подкаталогах найти и удалить файлы c указанным именем и с...

Как проверить наличие подкаталога в каталоге?
Пож-ста помогите разобраться с этим вопросом. Например есть каталог 'C:first'. Как определить есть ли в этом каталоге подкаталог с...

Проверка наличия файла или подкаталога в каталоге
Добрый день! Просьба помочь в построении конструкции, которая позволит определять пустой каталог или в нём имеется файл(-ы) и(или)...

89
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 16:01  [ТС]
Студворк — интернет-сервис помощи студентам
для вывода имен параметр /B
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 16:23
Цитата Сообщение от tinan Посмотреть сообщение
для вывода имен параметр /B
Отлично, команду для вывода подкаталогов собрали. Про цикл for применительно к Вашей задаче что-нибудь расскажете? Здесь мучать не буду, если не знаете
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 16:30  [ТС]
честно не знаю. думал мб еще как то подвязать set=%(?)%
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 16:43
Ладно, цикл я Вам сам напишу. Каким образом будете задавать имя подкаталога, который нужно найти?
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 17:46  [ТС]
Windows Batch file
1
2
3
4
5
6
@echo off
echo %0 rem для вывода в будущем каталоге, в котором все действие происходит(в котором ищем подкаталог)
echo %1 rem должна как то хранить переменную, которая будет задавать поиск подкаталога 
echo%2 rem не придумал еще
set arg1 =%\sim dp0
echo arg2=%catalog% rem по идеи выведет содержание
еще думал задействовать иф вместо цикла
Windows Batch file
1
2
3
4
5
6
:parse
IF "%~1"=="" 
...
SHIFT
GOTO parse
:endparse
в итоге не знаю как задать переменную, где будет хранится значение подкаталога, который следует найти
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 17:53
)) Так, Вас понесло не туда. Задача требует поиска подкаталога с указанным именем в подкаталоге. Алгоритм решения:
1) Получаем список подкаталогов (выполнено)
2) Перебираем их и сравниваем с именем разыскиваемого подкаталога (выполним)
Чего не хватает?
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 17:56  [ТС]
последнего пункта - вывода разыскиваемого подкаталога ну и самого главного - нужно задать переменную, чтобы пользователь вводил название подкаталога, который он ищет и записать значение в эту переменную
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 18:01
Все верно. Вывод я сам напишу, он связан с циклом будет, а вот присвоение имени подкаталога переменной Ваша задача. Осилите?
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 18:10  [ТС]
у меня есть вариант как можно обозначить переменные, но это только для определенного каталоге(а мне нужно для абсолютно любого)
может быть можно воспользоваться ифом и задать кол-ство переменных=кол-ство папок
пр.:
set arg1=%папка1%
set arg2=%папка2%
... .... ...
set argn=%папкаn%
echo %папка1%
...
но как сделать такое же для ЛЮБЫХ папок(ведь кол-ство подкатологов внути может меняется, и кол-ство параметров утилит получается тоже), без понятия
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 18:13
tinan, в чем проблема написать любое имя я не понимаю?)

Добавлено через 1 минуту
Или Вы хотите сразу несколько подкаталогов искать?
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 18:24  [ТС]
извините, я наверное не так выразился, искать нужно один подкаталог, но я не знаю как задать переменную, чтобы в нее вносить любое имя для поиска
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 18:28
Читаем:
https://ab57.ru/cmdlist/set.html

Добавлено через 1 минуту
Для оперативности дам подсказку. Прочитайте про set с ключом /p
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 19:19  [ТС]
Windows Batch file
1
2
set /p subdirectory="Enter subdirectory: "
echo %subdirectory%
по идеи так ведь?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 19:32
tinan, Вы просто молодец! Ну теперь все нужно собрать в единый скрипт. Дерзайте! Шучу)) Сейчас набросаю
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 19:37  [ТС]
ну шутите так... я себя чувствую очень неловко, что вам приходится со мной так возиться
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 19:40
Держите:
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
set /p "subdirectory=Enter subdirectory: "
for /f "tokens=* delims=" %%a in ('dir /ad/b/s "C:\test"') do (
    if /i "%%~nxa"=="%subdirectory%" (
        echo Подкаталог "%subdirectory%" найден и имеет путь "%%a"
    )
)
pause
Примечание.
1) Код сохраните в кодировке OEM-866 для корректной работы с кириллицей
2) В выводе будет фигурировать имя подкаталога и полный путь к нему. Соответственно, количество строк вывода будет равно количеству найденных подкаталогов
3) Вместо C:\test указываете полный путь к каталогу, в котором нужно искать требуемый подкаталог
Добавлено через 1 минуту
4) Чувствительность к регистру я убрал
Цитата Сообщение от tinan Посмотреть сообщение
я себя чувствую очень неловко, что вам приходится со мной так возиться
Расслабьтесь, Вы импонируете тем, что пытаетесь вникнуть в суть, в отличие от большинства Ваших собратьев, которые просто тупо скидывают задание
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 22:19  [ТС]
только включился интернет...
я попробовал запустить и почему то не ищет подкаталоги(хоть путь скопировал верно)
и есть вопрос по коду : что делает эта строка?
Windows Batch file
1
"tokens=* delims="
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 22:22
1) Покажите Ваш код
2) Почитайте про циклы, в этом разделе есть потрясающая статья
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
27.11.2020, 22:45  [ТС]
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
set /p "subdirectory=Enter subdirectory: "
for /f "tokens=* delims=" %%a in ('dir /ad/b/s "C:\Users\Oleg\Desktop\mainfolder"') do (
    if /i "%%~nxa"=="%subdirectory%" (
        echo Подкаталог "%subdirectory%" найден и имеет путь "%%a"
    )
)
@pause
в папку mainfolder я накидал много папок с файлами(архивы, скрытые или только для чтения), но когда пишу какой то подкаталог пишет : файл не найден.
статью прочитал, достаточно ясно и без воды, вобщем - круто
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
27.11.2020, 23:43
Сейчас доеду до дома и разберемся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2020, 23:43

Батник должен удалять файлы из подкаталога, но удаляет их и в основном каталоге
@echo off SETLOCAL EnableExtensions dir/s/a:-d/b|find /v "">nul||(echo Каталог пуст.&pause>nul&GoTo:EOF) (echo Sodergimoe...

Поиск в каталоге нужного файла и создание при его наличии нового файла с тем же именем, но с другим раширением
Нужно сделелать проверку на наличие файла "Пример.т01" в катологе D:\Temp\ и при условии что они есть создать файл (пустой, в томже...

Перенести рекурсивно все файлы из каждого подкаталога главного каталога в корень этого подкаталога
Здравствуйте, подскажите, пожалуйста как решить задачу. Нужно в главном каталоге, проверить все субпапки, найти в них папки/подпапки,...

Определить количество файлов с указанным расширением, находящимся в заданном каталоге
Определить количество файлов с указанным расширением, находящимся в заданном каталоге. Если таких файлов нет, то выдать на экран сообщение....

Параметр с указанным именем не найден
Значится когда в контрагентах ставлю галочку напротив графы "контакты" выскакивает ошибка: "Параметр с указанным именем не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru