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

Исправить скрипт для поиска по папкам

04.05.2020, 18:09. Показов 1393. Ответов 7

Студворк — интернет-сервис помощи студентам
Windows Batch file
1
2
3
4
5
@echo off
set /p Filename="Set your filename here: "
for /r D:\ %%i in (%Filename%.txt) do notepad %%i
pause
exit
Вот код, который должен перебирать все файлы и папки в поисках нужного документа и открывать его. Проблема в том, что он по очереди в каждой папке на диске спрашивает, нужно ли создавать текстовый файл, и если нет, то только тогда идет к следующей директории. Когда к коду добавить вместо 3 строчки
for /r D:\ %%i in (%Filename%.txt) if exsist (%Filename%.txt) notepad %%i
то он просто вылетает после ввода Filename.
Мне нужно, чтобы код перебирал все директории на диске, и уже потом только открывал нужный мне документ, если он все же существует. (Дополнительно если кто-то знает, как сделать поиск по всех дисках на пк, а не на заданном было бы очень хорошо)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2020, 18:09
Ответы с готовыми решениями:

Как сделать листание страниц для поиска по БД и по папкам?
Я никак не пойму, как сделать листание страниц для поиска по БД и по папкам одновременно, если Вам будет не сложно, подскажите...

Скрипт для поиска строк
Добрый день! Есть 2 файла для примера 1.txt и 2.txt Содержимое файлов: 1.txt 0 1 2 3 4 5

FireBird скрипт для поиска и удаления '-', а затем для растановки его в нужных местах
Используется FireBird 2.0. Есть поле Варчар(40) . В нём есть номера телефонов в формате хх-ххх-хх-ххх, нужно их превратить в ххх-ххх-хх-хх ...

7
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.05.2020, 18:27
Цитата Сообщение от ViktoryT Посмотреть сообщение
Мне нужно, чтобы код перебирал все директории на диске, и уже потом только открывал нужный мне документ, если он все же существует.
А если таких документов больше одного?
0
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 12
04.05.2020, 18:31  [ТС]
Karen87, тогда нужно открыть все, но это не так важно. Мне бы с поиском разобраться)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.05.2020, 18:59
ViktoryT, пробуйте:
Windows Batch file
1
2
3
4
5
6
7
@echo off
set /p Filename="Set your filename here: "
for /f "tokens=* delims=" %%a in ('dir D:\%filename%.txt /a-d/b/s') do (
    notepad.exe "%%a"
)
pause
exit
Добавлено через 24 минуты
Если перебирать все диски, то:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
setlocal enabledelayedexpansion
set /p Filename="Set your filename here: "
for /f "tokens=* delims=" %%a in ('wmic logicaldisk get name') do (
    if /I not %%a==name (
        set "disk=%%a"
    )
    call :step_1
)
pause
exit
:step_1
for /f "tokens=* delims=" %%a in ('dir !disk!\%filename%.txt /a-d/b/s ^| findstr /e /c:"%filename%.txt"') do (
    notepad.exe "%%a"
)
exit /b
1
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 12
04.05.2020, 19:09  [ТС]
Karen87, не работает(
Windows Batch file
1
2
3
4
5
6
7
@echo off
set /p Filename="Set your filename here: "
for /f "tokens=* delims=" %%a in ('dir D:\%filename%.txt /a-d/b/s') do (
    notepad.exe "%%a"
)
pause
exit
он зависает после ввода имя файла, спустя где-то 5 минут все равно ничего не находит

Пример: у меня есть файл OS2LABTEST в папке D:/LABTEST. Мне нужно, чтобы скрипт прошерстил диск, нашел файл по имени и открыл.

Второй же код відал File not found, хотя он существует
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.05.2020, 19:33
Лучший ответ Сообщение было отмечено ViktoryT как решение

Решение

Цитата Сообщение от ViktoryT Посмотреть сообщение
он зависает после ввода имя файла, спустя где-то 5 минут все равно ничего не находит
Как вводите имя файла и какое у него расширение?
Скорректированный код. При условии, что файл имеет расширение .txt у меня отработал без ошибок и нашёл нужный файл:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
setlocal enabledelayedexpansion
set /p Filename="Set your filename here: "
for /f "tokens=* delims=" %%a in ('wmic logicaldisk get name') do (
    if /I not %%a==name (
        set "disk=%%a"
    )
    call :step_1
)
pause
exit
:step_1
for /f "tokens=* delims=" %%a in ('dir !disk!\%filename%.txt /a-d/b/s 2^>nul ^| findstr /i /e /c:"%filename%.txt"') do (
    notepad.exe "%%a"
)
exit /b
1
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 12
04.05.2020, 19:45  [ТС]
Karen87, спасибо, второй код работает. Просто так не находило, но после применения на виртуалке(XP) все заработало. Еще раз огромное спасибо))
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
04.05.2020, 22:47
ViktoryT, Да не за что)

Добавлено через 2 часа 59 минут
Обратил внимание, что результат обработки вывода команды wmic в 4 строке некорректен. На результат, в-целом, не влияет, но тем не менее лучше использовать такой код:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
setlocal enabledelayedexpansion
set /p Filename="Set your filename here: "
for /f "delims=" %%a in ('fsutil fsinfo drives') do (
    set hards=%%a
    for %%a in (!hards!) do (
        if /I not %%a==Диски: (
            set disk=%%a
            call :step_1
        )
    )
)
pause
exit
:step_1
for /f "tokens=* delims=" %%a in ('dir !disk!%filename%.txt /a-d/b/s 2^>nul ^| findstr /i /e /c:"%filename%.txt"') do (
    start "" notepad.exe "%%a"
)
exit /b
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2020, 22:47
Помогаю со студенческими работами здесь

Нужен скрипт для поиска по сайту.
Господа! Помогите найти скрипт поиска. Самому написать можно, но уже нет времени на это.....сроки поджимают :(( Может быть кто-нибудь...

Скрипт (система) поиска для сайта
Подскажите ХОРОШИЙ скрипт поиска по сайту. Сайт написан на php. Все страницы на php. Не предлагайте GOOGLE, пожалуйста! Добавлено...

скрипт поиска для сайта недвижимости
Есть скрипт поиска для сайта недвижимости В чем проблема? Проблема в том, что он выводит 1 объект по 1 ключевому слову Что...

Как ставить скрипт Адсендс для поиска
В общем как ни собираю "самолёт" всё время получаю "трактор" Пытаюсь в Джумлу вставить скрипт Адсендс для поиска. В Огненно-рыжей...

Скрипт для поиска файлов в папки по названию
Ситуация такая, некогда не в жизни не работал с PowerShell и сейчас на работе попросили написать скрипт или найти где-то. Суть скрипта...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru