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
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
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?
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ś
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
Dzięki za pomoc. Pisałem z telefonu dlatego bez polskich znaków, będę pamiętał na przyszłość.