CMD: Problem mit der Zuweisung von Pfaden

  • #1
J

jan2

Bekanntes Mitglied
Themenersteller
Dabei seit
19.03.2002
Beiträge
606
Reaktionspunkte
0
Moin !

im Rahmen eines Projektes gibt es einen Hauptordner und darin enthalten sind einige Ordern. In diesen Unterordern befinden sich Programme die auch über BAT-Dateien ausgeführt werden können - was auch funktioniert.

Beispiel aus dem Unterordner:
Code:
osmosis.jar --read-xml spain.osm --bp file=spain_almeria.poly --write-xml spain_almeria.osm

Nun wollte ich eine übergreifende BAT-Datei erstellen die die Funktionen der Unterordner nutzt. Hierzu habe ich in dem Batchfile eine Variable mit dem Pfad definiert.

Code:
erm Verzeichnis in dem die aktulle BAT-Datei ausgeführt wird um die nachfolgenden Pfade einfacher anpassen zu können.
set osm_folder=D:\DATEN\JAN\openstreetmap\
rem set osm_folder=
rem
rem Ableiten von weiteren Verzeichnissen
set osmosis_folder=%osm_folder%osmosis-daten_splitten\
echo.
echo.Verschmelzen der OSM-Datei mit der aktuellen lokalen Datei
echo.
echo.
echo Aufsplitten der erweiterten OSM-Datei
%osmosis_folder%osmosis.jar --read-xml %osmosis_folder%spain.osm --bp file=%osmosis_folder%spain_almeria.poly --write-xml %osmosis_folder%spain_almeria.osm

Wenn ich

set osm_folder=D:\DATEN\JAN\openstreetmap\

setze, dann bekomme ich die Meldung, dass die eingegebene Zeile zu lang ist.

Wenn ich set osm_folder=

setze, dann bekomme ich die Meldung, dass das System den angegeben Pfad nicht finden kann.

In letzterem Falle ist osmosis_folder=osmosis-daten_splitten\ - also der Name des Unterverzeichnisses in welchem sich das Programm befindet.

Ich bin immer davon ausgegangen, dass jedes Programm ausgeführt werden kann, mit entsprechenden Dateien, wenn ich die Pfadangaben absolut definiere.


Kann mir einer sagen was ich falsch gemacht haben könnte und wie es richtig funktioniert?

Gruß Jan :)
 
  • #2
Die Pfadangabe schon, nur darf man nicht die Parameter mit in die schreiben, die gehören nämlich nicht zur Pfadangabe.

So würde ich das mal versuchen:
Code:
%osmosis_folder%osmosis.jar --read-xml %osmosis_folder%spain.osm --bp file=%osmosis_folder%spain_almeria.poly --write-xml %osmosis_folder%spain_almeria.osm

erm kennt er nicht (1. Zeile), und das führt bestimmt zu einem Fehler. :)
 
  • #3
hi !

bevor ich ein neues posting eröffne hänge ich mich jetzt einfach nochmal in dieses ein....

wenn ich folgendes batch ausführe..
Code:
osmosis.jar --read-xml spain.osm --bp file=spain_costadelsol.poly --write-xml spain_costadelsol.osm

in dem verzeichnis in welchem sich die osmosis.jar befindet, dann funktioniert alles.

wenn ich das betreffende patchfile über einen absoluten pfad aufrufe, dann bekomme ich die meldung das osmosis.jar nicht bekannt ist.

kann mir einer sagen wie batch die pfade im allgemeinen behandelt - zählt immer das von wo aus das batch aufgerufen wird - oder gibt es einen entsprechenden trick. ich könnte mir vorstellen immer den pfad, in dem die batch liegt, vor die java-datei zu stellen. das ist aber immer mit viel nachpflege bei verschiebungen verbunden !

kann man irgendwie in einem batch den pfad ermitteln in dem die ausgeführte batch-datei sich befindet - nicht von wo diese aufgerufen wird ?

gruß Jan :)
 
  • #4
Der Pfad, aus dem die Batch-Datei aufgerufen wird, also in dem sie enthalten ist, steht im Parameter %0
 
Thema:

CMD: Problem mit der Zuweisung von Pfaden

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben