Hallo,
ich möchte aus meinem VB-Programm ein Kommandozeilenprogramm aufrufen. Leider klappt dies aber nicht. Vielleicht kann mir jemand weiterhelfen.
Hier der Syntax des Kommandozeilenprogramms:
In meinem VB-Programm versuche ich den Prozess folgendermaßen zu starten:
In Arguments steht folgende Zeichenkette:
-l NISA7P_P53 -t LSet -2D < d:\tempASCIItransSource(5).txt > d:\tempASCIItransDestination(1).txt 2> d:\tempASCIItransLog(1).txt
Die GNTrans_ni.exe ist von jedem Verzeichnis aus direkt aufrufbar, von daher kann der Pfad zur Exe-Datei hier wegfallen. Das Programm benötigt keine Admin-Rechte. Die Dateien ...Destination und ...Log sind auch in beiden Fällen beim Aufruf des Prozesses nicht vorhanden.
Der Aufruf über die Kommandozeile mit dem Argumentstring die in VB erzeugt wurde funktioniert reibungslos, nur eben aus VB funktioniert der Aufruf nicht. Ich kann auch leider nicht sehen was im von VB erzeugten Kommandozeilenfenster steht da es direkt wieder geschlossen wird.
Kann mir hier jemand weiterhelfen?
ich möchte aus meinem VB-Programm ein Kommandozeilenprogramm aufrufen. Leider klappt dies aber nicht. Vielleicht kann mir jemand weiterhelfen.
Hier der Syntax des Kommandozeilenprogramms:
Quellcode
- Befehlszeile:
- GNTRANS_NI -t tran [-l land] [Optionen] < stdin > stdout 2> stderr
- Argumente:
- -t tran : Benutze Transformation tran
- -l land : Benutze Bundesland-Kennung land
- Optionen:
- -llh : Eingabe und Ausgabe von ellipsoidischen Koordinaten
- (nur ETRS89)
- -st wert : Setze Abbildungsstreifen bzw. -zone auf Wert wert
- -? : Ausgabe dieser Online-Hilfe
- -q : Deaktiviere Ausgaben auf Fehler-Kanal
- -time : Aktiviere Ausgabe der Rechenzeit
- -s : Zeige alle Laender und Patches
- -2D : Aktiviere Hoehenverschneidung
- Transformationen:
- ETLS: ETRS89 nach DHDN/GK
- LSET: DHDN/GK nach ETRS89
- Bundesland-Kennungen:
- NISA7P_P53: Transformationsmodell Niedersachsen
- Beispiele:
- Transformation einer Datei von ETRS89/UTM
- nach DHDN/GK:
- GNTRANS_NI -l NISA7P_P53 -t ETLS -2D < Eingabe-Datei > Ausgabe-Datei
In meinem VB-Programm versuche ich den Prozess folgendermaßen zu starten:
VB.NET-Quellcode
- Dim arguments As String = "-l NISA7P_P53 -t " & transformation & " -2D < " & tempSourceFile & " > " & tempDestinationFile & " 2> " & tempLogFile
- Try
- System.Diagnostics.Process.Start("GNTrans_NI.exe", arguments)
- ' Abfangen eines evtl. auftretenden Fehlers
- Catch ex As Exception
- MsgBox("Fehler beim Transformieren mit GNTrans-NI" & ControlChars.CrLf & ex.Message, MsgBoxStyle.Critical, "Fehler beim Transformieren")
- ' Beenden der Methode
- Exit Sub
- End Try
In Arguments steht folgende Zeichenkette:
-l NISA7P_P53 -t LSet -2D < d:\tempASCIItransSource(5).txt > d:\tempASCIItransDestination(1).txt 2> d:\tempASCIItransLog(1).txt
Die GNTrans_ni.exe ist von jedem Verzeichnis aus direkt aufrufbar, von daher kann der Pfad zur Exe-Datei hier wegfallen. Das Programm benötigt keine Admin-Rechte. Die Dateien ...Destination und ...Log sind auch in beiden Fällen beim Aufruf des Prozesses nicht vorhanden.
Der Aufruf über die Kommandozeile mit dem Argumentstring die in VB erzeugt wurde funktioniert reibungslos, nur eben aus VB funktioniert der Aufruf nicht. Ich kann auch leider nicht sehen was im von VB erzeugten Kommandozeilenfenster steht da es direkt wieder geschlossen wird.
Kann mir hier jemand weiterhelfen?