Wyszukiwarka plikow [*.bat]


(Obuchowski Mateusz) #1

Potrzebuję napisać wyszukiwarkę plików w bat, która po znalezieniu plików bądź folderów dodatkowo je otworzy.

Proszę o pomoc. Z góry dzięki :wink:


(Ryan) #2

Użyj findstr do szukania.

Co to znaczy "znalezieniu plików bądź folderów dodatkowo je tworzy" i dlaczego nie używasz polskich znaków diakrytycznych, co stoi w sprzeczności z regulaminem forum?


(Tomek Matz) #3

Jak już zastosujesz się do uwagi Ryan-a, napisz jak byś chciał wyszukiwać te pliki i foldery. Chcesz używać wildcard-ów, czyli zapisu w stylu cos* , co miałoby wyszukiwać foldery, których nazwy zaczynają się na cos i pliki o dowolnych rozszerzeniach, których nazwy zaczynają się na cos? Czy też może będziesz wyszukiwać tylko pełne dopasowania? Poza tym mógłbyś też wkleić co sam już zrobiłeś :slight_smile:

I jeszcze jedno ... otwieranie wyników wyszukiwania mija się z celem. No chyba, że zawsze będziesz szukać pełnych dopasowań, ale to i tak może się zdarzyć, że np. uzyskasz w wyniku 10 plików o takiej samej nazwie (bo będą się znajdować w różnych podfolderach). I co w takiej sytuacji chcesz jeszcze wszystkie otworzyć? IMO nie jest to zbyt dobry pomysł.

W każdym bądź razie poniżej masz kod prostej wyszukiwarki:

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

SETLOCAL ENABLEEXTENSIONS

CLS


SET strSearchPaths=

:SetSearchPaths

SET /P strSearchPaths="Gdzie szukac? (mozliwe jest podanie kilku sciezek folderow oddzielonych przecinkami): "

IF NOT DEFINED strSearchPaths GOTO :SetSearchPaths


SET strSearchText=

:SetSearchText

SET /P strSearchText="Czego szukac? (mozliwe jest szukanie nazw plikow i folderow; wymagane jest uzycie wieloznacznikow): "

IF NOT DEFINED strSearchText GOTO :SetSearchText


IF EXIST Results.txt DEL Results.txt


FOR %%i IN (!strSearchPaths!) DO (

	SET path=%%i

	IF EXIST !path! (

		SET path=!path:"=!

		IF !path:~-1! NEQ \ SET path=!path!\

		ECHO !path!!strSearchText!

		FOR /F "tokens=*" %%j IN ('DIR "!path!!strSearchText!" /S /B') DO (

			ECHO %%j

			ECHO %%j >> Results.txt

		)

	)

)


IF EXIST Results.txt START NOTEPAD Results.txt

(Obuchowski Mateusz) #4

Dzięki za pomoc. :wink: Pisałem z telefonu dlatego bez polskich znaków, będę pamiętał na przyszłość.