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

Поиск файлов

07.06.2020, 19:38. Показов 14880. Ответов 70
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, нужна помощь как для начинающего, идея такова:
Поиск файлов по всем накопителям (скрытых в том числе) с выводом нахождения их директории в текстовый файл на рабочий стол
Методом проб,ошибок и гугла получилось вот так:

Windows Batch file
1
2
3
4
5
6
7
For %%D In (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
  For /F "Delims=" %%I In ('Dir %%D:\1*.* /A-D /B /S 2^>nul') Do (
    If Exist "%%I" echo # %%I >> %USERPROFILE%\Desktop\2.txt
echo File '1*' has been found!
color4
)
)
но в данном коде осуществляется поиск всех файлов которые имеют такой же символ в названии

Но я не знаю как реализовать поиск по фильтру но в конечном итоге хотелось бы видеть:
Например:
Есть список из 40 dll (каждая имеет своё название) и еще 3 списка с разными расширениями файлов которые нужно будет добавить, на которые нужно про сканировать систему и в случае нахождения путь директории будет выводиться в текстовый документ, по возможности прошу привести пример: нужно найти файлы с именем 1.dll, A.dll 2.exe 3.txt
И возможно ли что бы при поиске файлов txt поиск выдавал только те текстовые файлы в которых будет например слово "Hello"

Столкнулся с квакозябрами, пробовал всё из предложенных решений, использовал notepad и AkellaPad менял кодировку на 866 но даже если писать код с 0 то после сохранения квакозябры не исчезают и в созданном текстовом документе так же квакозябры, возможно я делаю что то не так.

Заранее извиняюсь если написал что то не так, буду благодарен любой помощи
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2020, 19:38
Ответы с готовыми решениями:

Поиск на диске файлов с расширениями .txt и .docx и создание списка имён найденных файлов
Помогите, нужно создать bat файл, который ищет на диске файлы *.txt *docx а потом создаёт список с их именами.

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

Поиск в текстовом файле последовательностей цифр по шаблону и последующий их поиск в именах файлов (с логом)
Уважаемые программисты и хорошие люди! К Вам обращается украинский юрист. Очень нужен bat-файл или скрипт, который решает такую задачу: ...

70
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 13:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от gagarqq Посмотреть сообщение
Да появляются.
В списке присутствует искомое?
0
0 / 0 / 0
Регистрация: 20.05.2020
Сообщений: 27
18.11.2020, 15:02  [ТС]
В списке присутствует искомое?
Да присутствует
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 15:08
Цитата Сообщение от gagarqq Посмотреть сообщение
Да присутствует
Надо было уточнить. Искомое в рамках ТЗ (те самые exe), а не вообще.
Команда в консоли es.exe -sort path-ascending file:*.exe size:<размер> выдаёт список?
0
0 / 0 / 0
Регистрация: 20.05.2020
Сообщений: 27
18.11.2020, 18:15  [ТС]
Надо было уточнить. Искомое в рамках ТЗ (те самые exe), а не вообще.
Находит именно искомые exe
Команда в консоли es.exe -sort path-ascending file:*.exe size:<размер> выдаёт список?
Да, список выдаёт.
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 20:00
Гм. Если в исходнике между 22 и 23 строками вставить WSH.Echo Line, найденные имена появляются?
0
0 / 0 / 0
Регистрация: 20.05.2020
Сообщений: 27
18.11.2020, 20:50  [ТС]
Я кажется понял суть, все работает как и должно(как было задумано, я так думаю), скрипт ищет файлы только те которые уже есть на системных дисках, если добавить расширение,размер и хеш файла которого не существует на дисках, скрипт не сработает, есть ли возможность сделать так что бы поиск был так же через search, но пропускал те контрольные суммы которых нет на системных дисках и продолжал поиск дальше по списку, то есть находил только те у которых есть совпадение из всего списка search?
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 21:01
Цитата Сообщение от gagarqq Посмотреть сообщение
если добавить расширение,размер и хеш файла которого не существует на дисках, скрипт не сработает
В каком смысле "не сработает"? Остановится что ли? В таком условии не было никакого смысла.
Цитата Сообщение от gagarqq Посмотреть сообщение
и продолжал поиск дальше по списку
Он так и делает. Без всяких прерываний.
0
0 / 0 / 0
Регистрация: 20.05.2020
Сообщений: 27
18.11.2020, 21:27  [ТС]
Допустим есть на диске файл 1.dll в Search добавлено:
Кликните здесь для просмотра всего текста
dll|5632512|AC895AB0102BDB6F9970E0D5E436 6EFB


Если добавить 1 файл которого не существует на логических дисках скрипт работает
Кликните здесь для просмотра всего текста
dll|5632512|AC895AB0102BDB6F9970E0D5E436 6EFB
dll|34304|D3623F73570649EBA57D97B7BC8B25 E5


Если добавить 2 файла которых не существует на логических дисках в поиск, скрипт не работает
Кликните здесь для просмотра всего текста
dll|5632512|AC895AB0102BDB6F9970E0D5E436 6EFB
dll|34304|D3623F73570649EBA57D97B7BC8B25 E5
dll|3543040|1EC6FE4798163C9EAB3BC7835FBF 4F47
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 21:30
Лучший ответ Сообщение было отмечено gagarqq как решение

Решение

Цитата Сообщение от gagarqq Посмотреть сообщение
скрипт ищет файлы только те которые уже есть на системных дисках
Оказалось, что нет. Точнее прога в индексах находит уже потёртые файлы.
Исправляю:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Option Explicit
Const Alg = "MD5" ' SHA1, SHA256, SHA386, SHA512
Const ES  = "es.exe"
Const Search = "Search.txt"
Const Result = "Result.txt"
' Формат строк в Search.txt: <расширение>|<размер>|<хэш>
'———————————————————————————————————————————————————————
Dim oWSS: Set oWSS = CreateObject("Wscript.Shell")
If Left(Right(LCase(WSH.FullName), 11), 1) = "w" Then oWSS.Run _
"%ComSpec% /c mode con cp select=65001|cscript.exe //NoLogo """ & WSH.ScriptFullName & """", 0: WSH.Quit
 
Dim oHash, oFSO, oLog, oCvt, oList, Str, Arr, Std, Line, ArrB, i, Sum, Find
Set oHash = CreateObject("System.Security.Cryptography." & Alg & "CryptoServiceProvider")
Set oFSO  = CreateObject("Scripting.FileSystemObject")
Set oCvt  = CreateObject("OlePrn.OleCvt")
Set oList = oFSO.OpenTextFile(Search)
 
Do: Str = oList.ReadLine
   If InStr(Str, "|") Then
      Arr = Split(Str, "|")
      Set Std = oWSS.Exec(ES & " -sort path-ascending file:*." & Arr(0) & " size:" & Arr(1)).StdOut
      Do: Line = oCvt.ToUnicode(Std.ReadLine, 65001)
         If oFSO.FileExists(Line) Then
            With CreateObject("SAPI.spFileStream")
               .Open Line, 0: .Read ArrB, Arr(1): .Close
            End With
            ArrB = oHash.ComputeHash_2((ArrB)): Sum = ""
            For i = 1 To LenB(ArrB)
               Sum = Sum & Right("0" & Hex(AscB(MidB(ArrB, i, 1))), 2)
            Next
            If StrComp(Sum, Arr(2), 1) = 0 Then Find = Find & vbCrLf & Arr(2) & " " & Line
         End If
      Loop Until Std.AtEndOfStream: Std.Close
   End If
Loop Until oList.AtEndOfStream: oList.Close
 
If IsEmpty(Find) Then
   MsgBox "Совпадений нет!", 4160, " Поиск файлов по " & Alg
Else
   With oFSO.CreateTextFile(Result, 1, 1) .Write Mid(Find, 3): .Close: End With
   oWSS.Run """" & Result & """"
End If
Set oList = Nothing: Set oLog = Nothing: Set oWSS = Nothing
Set oHash = Nothing: Set oFSO = Nothing: Set oCvt = Nothing
1
0 / 0 / 0
Регистрация: 20.05.2020
Сообщений: 27
18.11.2020, 21:39  [ТС]
Спасибо вам большое, теперь все работает
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,824
18.11.2020, 21:48
gagarqq, сам себе идивляюсь. Ведь я это прекрасно знал, просто сразу не придал значения. На доброе.

P.S.: Только учтите, что у exe/dll без проблем можно внести правку в ресурсы, поэтому схема с хэшем рассчитана больше на неопытных юзеров.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2020, 21:48

Поиск в тексте DOC-файлов последовательностей символов по шаблону и поиск найденных в TXT-файле (с логом)
Уважаемые программисты! Очень нужен bat-файл или скрипт, который решает такую задачу: 1. Осуществляет поиск в тексте массива...

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

Поиск файлов
Всем добрый вечер) Как перенести из заданных директорий в новую файлы, содержащие заданное слово? Заранее спасибо :) Добавлено через...

Поиск файлов с текстом
Столкнулся с такой проблемой. Иногда (очередная загадка) TotalCommander не видит файл явно содержащий определенный текст. (Сваял...

Поиск недокачанных файлов
Привет всем. Такая проблема, необходимо найти и удалить все недокачанные торрентом , файлы на диске. Заметил, что если недокачанный фал...


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

Или воспользуйтесь поиском по форуму:
71
Ответ Создать тему
Новые блоги и статьи
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. Сразу отвечу: А в PvP с ним. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru