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

Поиск файла на определённом диске с созданием лога и завершением выполнения команды после его нахождения

23.09.2014, 11:34. Показов 997. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как найти файл на всём диске, я использовал такой код dir /b /s C:\name.txt >> log.txt
но он находит файл и идёт дальше искать =( а мне нужно что бы если нашол создал лог и закончил работу.
И ещё вопрос, каким кодом быстрее всего найти файл на компе? cmd или vbs?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2014, 11:34
Ответы с готовыми решениями:

Поиск файла и его полного пути на диске
Нужно по имеющемуся имени файла (с расширением) найти его на диске, а потом выдать его расположение. Попыталась сделать так.. Не то...

После выполнения определённой команды не выполняются последующие команды
Объясните, пожалуйста, почему может останавливаться выполнение второй и далее комманд? cd C:\Users\alex_iv\Desktop\test_node\ node...

Выполнения команды после завершения предыдущей
Добрый день, Требуется выполнить команду rmdir после завершения удаления программы. Переменная %comspec% с ключом /c сообщает,что надо...

6
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
23.09.2014, 12:42
Bash
1
2
if /i exist "c:\name.txt" (>log.txt echo yes name.txt) else (echo not exist name.txt)
pause
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
23.09.2014, 13:25  [ТС]
не совсем то что мне нужно но близко,
нужно что бы искал на всём диске C. а когда находит останавливался и вписывал путь где находится файл в log.txt
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
23.09.2014, 13:51
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
cmd или vbs?
Близко.
Только на cmd нужно вручную писать рекурсивную функцию вместо использования ключа /s,
чтобы добиться той же скорости.
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
23.09.2014, 22:31  [ТС]
-_- ничё не понял. . . не могли бы вы мне скинуть рабочий код, Пожалуйста

Добавлено через 8 часов 28 минут
помогите с кодом пожалуйста
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6213 / 2447 / 403
Регистрация: 29.07.2014
Сообщений: 3,178
Записей в блоге: 4
23.09.2014, 22:40
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
а мне нужно что бы если нашол создал лог и закончил работу.
...чё за бред! Раз ты дал поиск, то он должен отработать
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.09.2014, 17:07
DarkJoker1992, у Вас учебная или практическая задача?

CMD:
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
Setlocal EnableExtensions
 
set StartFolder=C:
set mask=lib4758cca.*
 
call :rDir "%StartFolder%" "%mask%"
echo "%ret%"
pause
Goto :eof
 
:rDir
  ::echo "%~1"
  For /F "delims=" %%a in ('dir /b /a-d-l "%~1\%~2" 2^>NUL') do set "ret=%~1\%%a"& Exit /B 1
  For /F "delims=" %%a in ('dir /b /ad-l "%~1\*" 2^>NUL') do call :rDir "%~1\%%a" "%~2" || Exit /B 1
Exit /B


Если не предполагается использовать маску:
(иначе нужно еще регулярку добавлять)

VBSCRIPT:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Option Explicit
Dim StartFolder, Target, oFSO, Root, Detected
 
StartFolder = "C:"
Target = "lib4758cca.so"
 
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set Root = oFSO.GetFolder(StartFolder)
Detected = scanFolder (Root, Target)
WScript.Echo (Detected)
 
Function scanFolder(oFolder, Target)
    On Error Resume Next ' обход ошибок "Access Denied"
    Dim ret, oFile, oSubFolder
 
    If oFolder.Attributes And 1024 Then Exit Function 'проходим мимо симлинков
    
    For Each oFile In oFolder.Files
        If StrComp(oFile.Name, Target, 1) = 0 then scanFolder = oFile.Path: Exit Function
    Next
    For Each oSubFolder In oFolder.Subfolders
        scanFolder = scanFolder (oSubFolder, Target) 'рекурсия !!!
        if scanFolder <> vbNullString then Exit Function
    Next
End Function


Для очень больших массивов информации подойдет только LogParser.
Вот пример: https://www.cyberforum.ru/post4581376.html
В принципе можно сделать тоже инкрементно, подавая в SQL-запрос отдельно каждую из папок корня диска.
Еще луче почитать справку, возможно там уже есть опция останова при первом найденном совпадении.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2014, 17:07
Помогаю со студенческими работами здесь

Перезапуск скрипта, после выполнения команды
Здравствуйте, я начинающий кодер, столкнулся с проблемой. Есть один прекрасный модуль uuid, он генерирует случайное значение. Я запихнул...

Поиск определённой строки в выводе результата выполнения команды
Доброго времени суток. Столкнулся с проблемой поиска строки, содержащей только числовое значение. Выполняю команду, получаю...

Требуется произвести дебаг после выполнения команды
5) Сохраните следующий код в файле Debug_Test.m: function =Debug_Test(x) xmu=mean(x); xstd=std(x); =hist(x); if nargout==0 ...

Не обновляется daragrid после выполнения SQL команды
выполняю команду удаления по нажатию кнопки но датагрид не обновляется после выполнения команды все остается как будто я ничего не удалял....

Вывести направление робота после выполнения полученной команды
Робот может перемещаться в четырех направлениях (&quot;С&quot; — север, &quot;З&quot; — запад, &quot;Ю&quot; — юг, &quot;В&quot; — восток) и принимать три цифровые...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru