VB + DOS Ausgabeumleitung

Folgendes Problem:

Aus einer VB-Anwendung soll der Datenpacker LHA mit Schalter L gestartet werden. Das Ergebnis will ich in eine Datei namens LISTE.TXT umleiten. Im DOS-Bildschirm geht das problemlos:

LHA L DATEI.LZH >LISTE.TXT

Rufe ich das Programm mittels SHELL-Befehl oder über den API-Befehl „StartProcess“ auf, funktioniert das nicht:

lRet = SHELL(„LHA L DATEI.LZH >LISTE.TXT“, vbMaximizedFocus)

Ergebnis ist immer eine Anzeige, daß die LZH-Datei leer sei (was definitiv falsch ist). Liegt das am LHA oder ist das Problem die Ergebnisumleitung (dieses „>“)?

Hat jemand einen Tip?

Danke!
Siegfried

Hat jemand einen Tip?

Eventuell bist du nicht im richtigen Verzeichnis, probier mal den Pfad absolut in den Befehl zu nehmen, etwa so:

lRet = SHELL(„LHA L c:\xxx\yyy\DATEI.LZH >LISTE.TXT“,

Grüße, Robert

Hallo,
hatte mal ein ähnliches Problem mit dem Umleiten.
Habe es so gelöst:

  • Schreibe aus VB heraus einen Batchjob z.B. RUNIT.BAT
  • in dem steht der Umleite-Befehl „LHA L DATEI.LZH >LISTE.TXT“
  • aufrufen des Batchjobs mittels Shell(„RUNIT.BAT“)
  • warten bis Batchjob beendet wurde!!!
  • löschen des Batjobs
  • Abarbeiten der LISTE.TXT

Ist zwar nicht die feine Englische … funktioniert aber 100%tig!

greets from MichL (Vienna)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Robert!

Eventuell bist du nicht im richtigen Verzeichnis, probier mal
den Pfad absolut in den Befehl zu nehmen, etwa so:

lRet = SHELL(„LHA L c:\xxx\yyy\DATEI.LZH >LISTE.TXT“,

Habe ich schon gemacht - inkl aller Varianten:
SHELL(„LHA L DATEI.LZH >LISTE.TXT“, …)
SHELL(„LHA L C:\xxx\yyy\DATEI.LZH >LISTE.TXT“, …)
SHELL(„C:\XXX\LHA L C:\xxx\yyy\DATEI.LZH >LISTE.TXT“, …)
SHELL(„C:\XXX\LHA L C:\xxx\yyy\DATEI.LZH >C:\XXX\LISTE.TXT“, …)

usw.
Hat alles nichts geholfen!
Ich vermute, daß die Ausgabeumleitung „>“ die Fehlerursache ist.
Trotzdem Danke für deine Hilfe!

Grüße
Siegfried

Hi Michael!

Ich werde es mal mit deinem Vorschlag versuchen.
Besser stilistisch schlecht die Daten bekommen als stilistisch sauber gar nichts erhalten! :wink:

hatte mal ein ähnliches Problem mit dem Umleiten.
Habe es so gelöst:

  • Schreibe aus VB heraus einen Batchjob z.B. RUNIT.BAT
  • in dem steht der Umleite-Befehl „LHA L DATEI.LZH
    >LISTE.TXT“
  • aufrufen des Batchjobs mittels Shell(„RUNIT.BAT“)
  • warten bis Batchjob beendet wurde!!!
  • löschen des Batjobs
  • Abarbeiten der LISTE.TXT

Danke!
Siegfried