Toon posts:

[WINNT] BATCH probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou graag het resultaat van het commando "cd" opslaan in een environment variabele stoppen.
Heeft iemand enig idee hoe dit zou moeten?

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Uhm, in een bestand kun je het wel stoppen iig met cd >> c:\test.txt bijvoorbeeld. Ik probeer ff voor je uit edit ik post zo

edit:
mmm, set /? geeft een hoop interessante info, zoals dit, ik probeer het alleen nog te begrijpen :P
code:
1
2
3
4
5
6
7
8
9
Als opdrachtextensies zijn ingeschakeld, zijn er verschillende
dynamische omgevingsvariabelen die kunnen worden uitgebreid maar die
niet voorkomen in de lijst met variabelen, zoals weergegeven
door SET. Deze variabele-waarden worden elke keer dynamisch berekend
als de variabele wordt uitgebreid. Als de gebruiker expliciet een
variabele definieert met een van deze namen, zal die definitie de
onderstaande dynamische variabelen opheffen:

%CD% - uitbreiden naar de actieve maptekenreeks.

[ Voor 73% gewijzigd door pierre-oord op 20-10-2003 16:55 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

Het resultaat is of OK of FOUT, dus je zou iets als dit kunnen doen:
code:
1
2
3
4
5
6
7
cd %1
if errorlevel 1 goto error
set cd=ok
goto einde
:error
set cd=error
:einde

  • Krypt
  • Registratie: April 2000
  • Laatst online: 20:25
for /f %x in ('cd') do set DirVar=%x

Et voila..

Ik neem aan dat je met "resultaat van het commando cd" bedoelt dat je de huidige directory in de variable wilt zetten..

[edit]
In 'n batchfile moet je trouwens extra percent tekens toevoegen en wordt het dit:
for /f %%x in ('cd') do set DirVar=%%x

[ Voor 92% gewijzigd door Krypt op 20-10-2003 16:38 ]

Pvouput live


Verwijderd

Topicstarter
Hallo Krypt,
dit werkt goed,
enkel 1 probleem,
ik zit nu in de documents and settings directory, en het enige wat er id env var komt is C:\Documents

Verwijderd

In dat geval zo ik het volgende doen

for /f "delims=*" %%x in ('cd') do set DirVar=%%x

waarbij * staat voor een karakter die nooit in je directory namen voorkomt.

Trouwens onder XP bestaat de environment variable CD al. Ik weet niet zeker of die ook al in Windows 2000 voorkomt.

  • Krypt
  • Registratie: April 2000
  • Laatst online: 20:25
Ahja.. dat wat ik vergeten :)
Je kan ook dat sterretje weglaten dan pakt ie het geheel als 1 token..

Dus: for /f "delims=" %%x in ('cd') do set DirVar=%%x

Pvouput live


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Verwijderd schreef op 20 October 2003 @ 16:51:
In dat geval zo ik het volgende doen

for /f "delims=*" %%x in ('cd') do set DirVar=%%x

waarbij * staat voor een karakter die nooit in je directory namen voorkomt.

Trouwens onder XP bestaat de environment variable CD al. Ik weet niet zeker of die ook al in Windows 2000 voorkomt.
Zie mijn edit idd, zoals vond ik net

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

Topicstarter
ok,

ik ben er ondertussen ook achtergekomen dat een var CD bestaat

maar ik neem aan dat ik dit stukje code ook wel zal kunnen gebruiken voor andere commandos dus des te beter

bedankt
Pagina: 1