» »

[CMD] Parsanje argumentov

Dzanko ::

Pozdravljeni,
imam problem pri parsanju argumentov ki jih podam cmd skripti na naslednji način: skripta.cmd /u AA /p BB /t CC

for %%a in (%*) do (
if "%%a"=="" goto PrintOut
if "%%a"=="/u" set username=  <--kako "povedat" tolmaču da naj v username shrani argument, ki se nahaja za argumentom /u torej AA?  %2 ne velja, saj mora skripta omogocat vnos poljubnega vrstenga reda argumentov npr: /u aa /p bb /t cc ali /p bb /t cc /u aa, itd.
if "%%a"=="/p" set password=
if "%%a"=="/t" set type=
.
.
)


Gre za trivialni problem, ki ga ne znam resiti zaradi nepoznavanja cmd sintakse.
Hvala za odgovor.

darkolord ::

Sprejemanje parametrov v poljubnem vrsntem redu niti približno ni trivialen problem. En primer
spamtrap@hokej.si
spamtrap@gettymobile.si

Dzanko ::

Hvala za namig. Sem rešil problem. Zame je bolj ali manj trivialen problem, saj logika ni problem temveč nepoznavanje DOS sintakse oziroma ukazov.

darkolord ::

Lepo slišat, ponavadi je logika tudi problem :)

Sicer pa, če imaš možnost izbire, je močno priporočljiva uporaba PowerShella namesto batch fajlov; tisto je čisto druga zadeva s podporo objektnega programiranja
spamtrap@hokej.si
spamtrap@gettymobile.si

Zgodovina sprememb…

  • spremenilo: darkolord ()

Dzanko ::

Bom poizkusil še v PS pretovorit to skripto, sicer pa zanimiv predlog, saj za PS sploh nisem vedu da obstaja.

Zgodovina sprememb…

  • spremenil: Dzanko ()


Vredno ogleda ...

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

Prenos podatka iz strani na stran

Oddelek: Programiranje
5406 (260) Gandalfar
»

[BASH]Kako skripti podati argumente zapisane v datoteki?

Oddelek: Programiranje
7618 (533) BlaY0
»

Ukaz, ki bi naenkrat odprl dva programa in ustavil en proces?

Oddelek: Programiranje
10608 (489) G@MER
»

C++ in tabele

Oddelek: Programiranje
111868 (1689) BigWhale
»

UpTime

Oddelek: Izdelava spletišč
7521 (358) markz

Več podobnih tem