» Poradna » Programy

Podmienka v command prompt

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 6/6
 |   |   |  [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


Nejnovější americká výsadková loď USS Portland dostane laserovou zbraň

Nejnovější americká výsadková loď USS Portland dostane laserovou zbraň

** Právě v tomto období vstupuje do služby výsadková loď, která nese označení USS Portland (LPD-27) ** Specialisté na ní brzy přenesou laserový zbraňový systém XN-1 LaWS ** Ten dříve fungoval na výsadkové lodi třídy Austin/Trenton USS Ponce

17.  1.  2018 | Stanislav Mihulka | 5

Pojďme programovat elektroniku: Z čeho poskládat venkovní meteosondu, která poběží celé roky

Pojďme programovat elektroniku: Z čeho poskládat venkovní meteosondu, která poběží celé roky

** Dnes si ukážeme, z čeho postavit venkovní meteosondu ** Tak, aby fungovala celé roky ** A posílala data třeba pomocí Wi-Fi

14.  1.  2018 | Jakub Čížek | 19


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší