» Poradna » Programy

Podmienka v command prompt

 |   |   |  [195.80.190.---]

Zdarte! potrebujem vytvorit podmienku v *.bat subore (pripadne *.vbs) porovnavam obsah dvoch premennych, pri zhode potrebujem vetvu then pri rozlisnosti else.
Za radi vdaka!

Odpovědi na otázku

 |   |   |  [80.188.94.---]

treba ?
IF %B%==%C% goto sem
echo Nerovna se
goto konec
sem:
echo rovna se
konec:
 
je to teda maximalne neoprimalizovana hruza, ale urcite funguje...
 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Snad jenom připojím, že je nutno pamatovat na to, že některá proměnná může být prázdná, popř. že může obsahovat mezeru. Pro ten první případ postačí předřadit oběma proměnným v tom IF nějaký znak (pro obě stejný, samozřejmě), druhý případ ošetří umístění proměnných do úvozovek (což ovšem ošetří i tu prázdnou proměnnou). Takže by to vypadalo takto:
IF "%b%"=="%c%" goto sem
a tak dále.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [195.80.190.---]

vdaka moc

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [195.80.190.---]

bohuzial mi to nejde..
upravil som to nasledovne:
set meno=%username%
IF %meno%==%username% goto sem
echo Nerovna se
goto koniec
:sem echo rovna sa
:koniec

navestie som skusal napisat aj s : pred navestim a za
ked je navestie: napise ze system nenasiel pozadovane navestie, ked je : pred navestim, proghram vypise doslova prvy riadok teda: IF "obsah premennej meno" == "obsah premennej username" goto sem
premenne sa zhoduju.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

1) tak, jak jsi to napsal, to nemůže chodit, protože návěští sem neexistuje (existuje návěští "sem echo rovna se". Dvojtečka je VŽDYCKY před návěštím, o jiné možnosti neuvažuj
2)nevíme nic o proměnné username - může být prázdná, může obsahovat mezeru a ani jedno z toho jsi neošetřil
Až tyhle dvě věci ostraníš, tak uvidíme, co dál

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [195.80.190.---]

no uz to beha ako ma a vyzera to takto..
set meno=%username%
IF %meno%==%username% goto sem
echo Nerovna se
goto koniec
:sem
echo rovna sa
:koniec

v premena username nebude obsahovat medzeru a je v nej meno aktualne prihlaseneho uzivatela. mam presne definovane uzivatelske mena, takze obsah premenej viem predpokladat..

Vdaka za pomoc!!!

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Command



Určitě si přečtěte


Aktuální číslo časopisu Computer

Test 6 odolných telefonů a 22 powerbank

Srovnání technologií QLED a OLED

Měřte své sportovní výkony

Sady pro chytrou domácnost