Avatar billede bizkid2 Nybegynder
03. oktober 2008 - 16:21 Der er 2 kommentarer

cmd line hjælp

Hvordan tildeler man outputtet fra en kommando til en variabel i et batch (cmd) program?

fx:
set result=sc query %1 | grep RUNNING
IF %result% (echo "service kører") ELSE (echo "fejl")

Problemet er dels at %result% ikke bliver assigned.
samt at min IF tilsyneladende er formatteret forkert, da den outputter ""service kører") was unexpected at this time."

det skal bemærkes at jeg har en gnu grep i min path så det virker. Kunne ikke finde et windows alternativ til grep.

På forhÅnd tak.
Avatar billede bizkid2 Nybegynder
06. oktober 2008 - 13:42 #1
Hej,
fandt selv ud af det:

set status=Critical
FOR /F "tokens=4" %%a in ('sc query %1') do (
IF "%%a" == "RUNNING" (set status=Normal) ELSE IF "%%a" == "START_PENDING" (set status=Warning)
)

echo %status%

Så uden brug af grep tilmed.
Avatar billede bizkid2 Nybegynder
06. oktober 2008 - 13:44 #2
og hvis man vil tildele outputtet til en variabel, skal det gøres via en temp fil således:

sc query %1 > tmpfile
set /P var= < tmpfile
del tmpfile
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester