[W2k] Iets geks met batchfiles: > wordt 1>

Pagina: 1
Acties:

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Een raar probleem met batchfiles, ik hoop dat dit het juiste forum is, dit leek me niet echt programming of webscripting.

Zoeken is erg lastig omdat het groter-danteken blijkbaar een bijzondere betekenis heeft in Google :/ Ik heb flink in de help van W2k zitten graven maar volgens mij hebben we het hier over een bugje want dit probleem wordt nergens in genoemd...

Ik heb een batchfile die wat commando's uitvoert en een andere batchfile die 'm aanroept en logt. Tenmiste, dat probeer ik.

Ter vereenvoudiging reproduceer ik het probleem alsvolgt: 1) maak twee batchfiles:

FIRST.CMD:
code:
1
call second.cmd > log.txt


SECOND.CMD:
code:
1
echo Hey


2) roep first.cmd aan.

In plaats van
code:
1
call second.cmd > log.txt

probeert Windows nu dit uit te voeren:
code:
1
call second.cmd  1> log.txt


Dit is zo bij Windows 2000 en Windows XP. Ik weet dat er andere manieren zijn om te loggen (mijn oorspronkelijke doel is al bereikt) maar ik vind het zo vreemd dat Windows gewoon wat anders verzint! Wat zou er aan de hand zijn?

Ik heb al geprobeerd om de files op te slaan als unicode, maar dan kan Windows ze helemaal niet meer lezen :D

Bloed, zweet & koffie


  • TheBorg
  • Registratie: November 2002
  • Laatst online: 23-04 16:45

TheBorg

Resistance is futile.

Heb het ff zitten proberen en ik begrijp er ook geen fluit van. Lijkt wel een bug. In DOS werkt het iig wel.

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 22:36

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Klopt. 1> is de stdout, en deze redirect je naar log.txt. Je windows verbouwt je opdracht naar de complete opdracht, namelijk het redirecten van stdout. Er is ook nog 2>, dat is de stderr.
Je kan zelfs de output van de stderr redirecten naar stdout. Dan moet je 2>&1 gebruiken.

Nog wat voorbeelden:

echo Hey Man 1> log.txt 2> error.txt

Hierin gaat de output naar log.txt, en eventuele foutmeldingen naar error.txt

echo Hey Man 1> log.txt 2>&1

Hierin gaat alle output naar log.txt

[ Voor 92% gewijzigd door Microkid op 15-11-2004 17:48 ]

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


  • Nooto
  • Registratie: Augustus 2003
  • Laatst online: 28-04 23:09
Maar hij maakt toch de log.txt aan? Wat is eigenlijk het probleem dan?

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Het probleem is dat mijn command line interpreter (of in goed Nederlands je DOS-box) keihard een syntax error geeft! Bij mij werkt het dus _niet_! Wel vreemd dat het bij jullie wel werkt...

Bloed, zweet & koffie