» »

Ukaz findstr

Ukaz findstr

rimci ::

Imam sledečo tekstovno datoteko:
2019-02-10 red
2019-02-10 red wine
2019-02-11 red

V njej želim poiskati vrstice ki vsebujejo "aktualni datum" in "red"

Moja koda je sledeča:
@echo off
for /f "tokens=2-4 delims=. " %%a in ('date /t') do set year=%%c
for /f "tokens=2-4 delims=. " %%a in ('date /t') do set mon=%%b
for /f "tokens=2-4 delims=. " %%a in ('date /t') do set day=%%a

rem for /f "tokens=1" %%a in ('date/t') do set dn=%%a
rem ta ukaz doda se dan

set y2=%year:~0,4%
set jintian=%y2%-%mon%-%day%%dn%

findstr "%jintian%" | findstr "red" test.txt

Rezultat pa je:
2019-02-10 red
2019-02-10 red wine
2019-02-11 red

Rezultat bi moral biti: 2019-02-11 red

Kaj delam narobe. Prosim za pomoč

mallard ::

Zadnji ukaz je narobe. Ti rabiš

findstr "%jintian%" test.txt | findstr "red"


Najprej v datoteki poišče vse vrstice s pravim datumom, potem pa ta output pošlje v naslednji ukaz, ki poišče "red".

rimci ::

Najlepša hvala. Še en problem. Hočem da mi poišče samo "red" zdaj mi poišče tudi vse ostalo če je kaj napisano za "red" (npr. red wine...). za to bi moral biti ukaz findstr /C:"red", ki pa ne deluje tako

mallard ::

Potem pa mogoče kar zlepi skupaj string:
findstr /C:"%jintian% red" /X test.txt

Samo to je bolj hackiš... /X pomeni, da išče točno tako vrstico. Ne bi rajši kakšne bolj resne scripting zadeve uporabil? :)

rimci ::

Ja vidim da je res to bolj hackiš. Problem je če ni točno tak zapis "%jintian% red". Kaj če so vmes "prazni znaki" ali kaki druge črke. Potem ta zadeva odpade. Nisem neki expert za programiranje. A lahko pomagaš z kako "resno scripting zadevo" oziroma scripto?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

batch fajl iz txt (strani: 1 2 )

Oddelek: Programiranje
658870 (7531) b3D_950
»

iz dhcp v fiksni ip

Oddelek: Omrežja in internet
161811 (1519) Good Guy
»

cmd batch rename datoteke v datum,čas

Oddelek: Programiranje
121604 (1422) Good Guy
»

[bat datoteke] Trenutni datum in ura

Oddelek: Programiranje
112347 (2104) darkolord
»

včerajšni datum

Oddelek: Programiranje
81084 (962) ql000

Več podobnih tem