[Cmd] Wykonywanie Polecenia Zmiennej I Przekazywanie Wyniku


(andrzejt17) #1

Słowo wyjaśnienia - CMD - wiersz poleceń systemu windows.

Mam takie pytanie i poszukuje rozwiązania. Pisze pewien programik dość niekonwencjonalnym sposobem bo w windowsowym wierszu poleceń (ze względu na to, że wystarczają mi jego możliwości a ponad to nie mam czasu na naukę jakiegoś języka programowania). A więc do rzeczy. W jednej zmiennej zapisuje polecenie i chce, żeby jego wynik był zapisany w jakieś zmiennej (innej bądź tej samej) albo, żebym w ogóle mógł operować na tym wyniku. Skrypt:

@echo off

set File=d:\config.tst

set search=findstr "info" %File%


if %search% equ info=mojprogram (echo cacy) else (echo pupa)

pause

Problem w tym, że %serch% w instrukcji if nie zawiera wyniku jakim jest 'info=mojprogram' tylko to co do niej przypisałem (findstr "info" %File%). Sposób %search% >> %wynik% też nie działa bo wtedy mi tworzy plik o takiej nazwie. Wie ktoś jak rozwiązać problem? Bardzo mi na tym zależy i sam sporo się z tym namęczyłem, google na net temat niestety milczy ;/. Oczywiście z góry dziękuje za odpowiedzi, pozdrawiam.


([alex]) #2

@echo off

set File=d:\config.tst

findstr "info" %File% > tmp

set /P search= < tmp

delete tmp

if %search% equ info=mojprogram (echo cacy) else (echo pupa)

pause

teoretycznie powinno też działać:

findstr "info" %File% | set /P search=

ale nie wiedzieć czemu nie działa


(andrzejt17) #3

Wielkie dzieki :slight_smile:

Temat do zamkniecia :wink:

BTW: Nie delete a del :wink: