Hallo,
ich habe in meinem C#-Programme eine Methode, die ShapeDateien erzeugen soll. Zum Erzeugen der ShapeDateien nutze ich ein externes Tool (FWTools). Diese externe Tool muss man aber über Start/Programme ausführen was eine Art DOS-Box aufmacht und entsprechende Pfade setzt.
Inhalt der Batch-Datei die im Start/Programme-Menü ausgeführt wird.
Wenn ich die Batch-Datei in meinem C#-Programm aufrufe, gehen die Einstellungen der Batch-Datei "verloren".
C#-Aufruf der setfw.bat:
Leider kann ich die Shell auch nicht zuvor öffnen und darin mein Programm starten. Es muss also wirklich so sein, dass mein Programm gestartet wird, das Programm die "setfw.bat" aufruft und die weiteren C#-Befehle auch die Einstellungen der Batch-Datei noch "kennen".
Hat jemand eine Idee ?
Vielen Dank,
Tucca
ich habe in meinem C#-Programme eine Methode, die ShapeDateien erzeugen soll. Zum Erzeugen der ShapeDateien nutze ich ein externes Tool (FWTools). Diese externe Tool muss man aber über Start/Programme ausführen was eine Art DOS-Box aufmacht und entsprechende Pfade setzt.
Inhalt der Batch-Datei die im Start/Programme-Menü ausgeführt wird.
Code:
IF exist "%FWTOOLS_OVERRIDE%\setfw.bat" SET FWTOOLS_DIR=%FWTOOLS_OVERRIDE% IF exist "%FWTOOLS_DIR%\setfw.bat" goto skip_err echo FWTOOLS_DIR not set properly in setfw.bat, please fix and rerun. goto ALL_DONE :SKIP_ERR PATH=%FWTOOLS_DIR%\bin;%FWTOOLS_DIR%\python;%PATH% set PYTHONPATH=%FWTOOLS_DIR%\pymod set PROJ_LIB=%FWTOOLS_DIR%\proj_lib set GEOTIFF_CSV=%FWTOOLS_DIR%\data set GDAL_DATA=%FWTOOLS_DIR%\data set GDAL_DRIVER_PATH=%FWTOOLS_DIR%\gdal_plugins REM set CPL_DEBUG=ON :ALL_DONE
C#-Aufruf der setfw.bat:
Code:
System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = strPathFWTools + @"\setfw.bat"; p.StartInfo.Arguments = ""; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; string sOutput; p.Start(); sOutput = p.StandardOutput.ReadToEnd(); Trace.WriteLine(sOutput); p.WaitForExit(); p.Close();
Hat jemand eine Idee ?
Vielen Dank,
Tucca
Comment