/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
Udføre program i script variabel
Fra : Joe Doe


Dato : 19-08-04 12:45

Jeg vil gerne udføre dette (i en do-this.cmd fil):

SET MyVar=dir C:\ | find "myfile.exe"
echo %MyVar%

Dvs. udføre en DOS kommando og få outputtet gemt i en variabel. Hvordan gør
man det?



 
 
Hibbit (19-08-2004)
Kommentar
Fra : Hibbit


Dato : 19-08-04 17:26

"Joe Doe" <nowhere@invalid.xyz> wrote in
news:412492b7$0$160$edfadb0f@dread11.news.tele.dk:

> Jeg vil gerne udføre dette (i en do-this.cmd fil):
>
> SET MyVar=dir C:\ | find "myfile.exe"
> echo %MyVar%
>
> Dvs. udføre en DOS kommando og få outputtet gemt i en variabel.
> Hvordan gør man det?

Brug evt. FOR kommandoen. Eks. :

for /f "tokens=4* delims= " %%i in ('dir c:\ ^| Find "CONFIG.SYS"') do set
variabel=%%i
echo %variabel%

Kør ovenstående i et batch script. Variablen VARIABEL sættes lig CONFIG.SYS
og indholdet af VARIABEL udskrives.

Skriv evt. for /? i en command prompt for nærmere info.


Keld

Joe Doe (20-08-2004)
Kommentar
Fra : Joe Doe


Dato : 20-08-04 13:11

> for /f "tokens=4* delims= " %%i in ('dir c:\ ^| Find "CONFIG.SYS"') do set
> variabel=%%i
> echo %variabel%

Det ser ud til, at hvis outputtet f.eks. er "This file is not found", at den
så kun viser "not" som indholdet i variablen. Jeg ville gerne have hele
strengen. Er det muligt?



Hibbit (20-08-2004)
Kommentar
Fra : Hibbit


Dato : 20-08-04 14:55

"Joe Doe" <nowhere@invalid.xyz> wrote in
news:4125ea4c$0$192$edfadb0f@dread11.news.tele.dk:

>> for /f "tokens=4* delims= " %%i in ('dir c:\ ^| Find "CONFIG.SYS"')
>> do set variabel=%%i
>> echo %variabel%
>
> Det ser ud til, at hvis outputtet f.eks. er "This file is not found",
> at den så kun viser "not" som indholdet i variablen. Jeg ville gerne
> have hele strengen. Er det muligt?

Ja. Prøv nedenstående script.
Men det virker temmelig omstændeligt for at finde ud af om en fil
eksisterer eller ej. Hvad er det helt konkret du skal bruge det til ?

@echo off
set variabel=
set fejl=File not found
for /f "tokens=1* delims= " %%i in ('dir /b c:\ ^| Find "CONFIG.SYB"') do
set variabel=%%i
if %variabel%*==* goto fejl
echo %variabel%
goto slut
:fejl
echo %fejl%
:slut



Keld

Joe Doe (23-08-2004)
Kommentar
Fra : Joe Doe


Dato : 23-08-04 09:35

> Men det virker temmelig omstændeligt for at finde ud af om en fil
> eksisterer eller ej. Hvad er det helt konkret du skal bruge det til ?

Jeg skal ikke finde en fil - jeg skal se om en applikation køre vha.
programmet "pslist" (en del af PSTOOLS). pslist returnere en hel streng alt
efter om programmet er startet eller ej. Det er blot et gratis keepalive
program (starter automatisk et program op, hvis det ikke køre).

> @echo off
> set variabel=
> set fejl=File not found
> for /f "tokens=1* delims= " %%i in ('dir /b c:\ ^| Find "CONFIG.SYB"') do
> set variabel=%%i
> if %variabel%*==* goto fejl
> echo %variabel%
> goto slut
> :fejl
> echo %fejl%
> :slut

Jeg vil prøve, tak.



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409083
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste