DOS - Pfad zur ausgeführten Batch-Datei

Hallo zusammen,

ich habe folgendes Problem. Aus einem Programm heraus wird eine Batch-Datei aufgerufen, welche an unterschiedlichen Stellen liegen kann. Jetzt müsste ich relativ zu dem Ort, an dem die Batch-Datei liegt etwas machen. Das Problem ist, dass das aktuelle Verzeichnis aber auf das Verzeichnis des Programms zeigt.

Mit %cd% kann ich das aktuelle Verzeichnis heraus bekommen, was mir aber nicht nützt.

Gibt es eine Möglichkeit den Pfad zu der Batch-Datei zu bekommen, die zurzeit ausgeführt wird.

Danke!

Gruß

Thomas

einfachste lösung, wenn richtig verstanden, währe zum beginn der runtime der batch die %cd% ans programm zu übergeben…

wenn falch verstanden währen mehr infos zum programmablauf sicher hilfreich.

anderer gedankenanstoss falls es um etwas anderes geht „.“ bzw den cd dir return

mfg ky

Hallo Kyruss,

vielen Dank für die Antwort.

also ich habe Eclipse in welchem eine Dateistruktur angezeigt wird. In dieser Struktur stehen verschiedene Batch-Dateien, welche z.B. mir mit FOR-Schliefe die Unterverzeichnisse durchsucht und teilweise Dateien löscht und umkopiert oder verändert oder auch andere Programme aufruft. Hierbei bezieht sich die Batch immer auf die Daten des Verzeichnisses, in welchem die Batch-Datei liegt.

Funktioniert auch hervorragend wenn ich im Explorer an die entsprechende stelle navigiere und dann einen Doppelklick auf die Batch-Datei mache. Dies liegt daran, dass dann das aktuelle Verzeichnis auf das Verzeichnis zeigt, in welchem die Batch-Datei liegt und ich kann relativ von dort aus (z.B. mit ‚.‘) mit den Dos-Befehlen arbeiten.

Wenn ich jedoch die Batch-Datei über einen Doppel-Klick in Eclipse starte, so ist das aktuelle Verzeichnis das Installationsverzeichnis von Eclipse. Wenn ich dann in der Batch-Datei relative Befehle ausführe, dann bezieht er sich auf den Pfad von Eclipse. Was dann nicht funktioniert.

Ausgeholfen habe ich mir damit, dass in jeder Batch-Datei ein CD mit dem Pfad steht, in welcher die Datei liegt. Dumm nur, wenn sich etwas verschoben hat oder etwas kopiert wurde. Da man ein Projekt in Eclipse nicht immer an dieselbe Stelle auschecken muss, können die Verzeichnisse an jedem PC unterschiedlich sein. Dann muss man daran denken, die Dateien anzupassen oder alternativ, immer über den Expolorer an die richtige Stelle zu navigieren und die Batch-Datei von Dort aus zu starten, was extrem lästig ist.

Schön wäre, wenn ich in der Batch-Datei irgendwie herausfinden könnte, wo diese liegt, unabhängig vom aktuellen Verzeichnis, welche ja immer auf den Installationsort zeigt.

Danke!

Gruß

Thomas

Hi,

schau mal hier! das könnte helfen
http://www.computerhope.com/forum/index.php?topic=54…

Hi,

schau mal hier! das könnte helfen
http://www.computerhope.com/forum/index.php?topic=54…

oder hier etwas in deutsch
http://www.administrator.de/article/detail_print.php…

Hallo plastikjoe,

%~dp0 war genau das, was ich gesucht habe.
Danke !!!

Gruß

Thomas

Hallo Thomas,

entschuldige die späte Antwort. Wenn ich das Problem richtig verstanden habe sollte %~f0 deine Probleme lösen.

Grüße
Patrick