CMD UNC-Pfade werden nicht unterstützt
Guten Tag,
ich habe das Problem, dass ich eine batch Datei aufrufe, die aber einen relativen Pfad verwendet. Nun wird aber beim starten die UNC-Pfade nicht unterstützt.
ich habe das hier gefunden:
http://www.d-fens.net/kb/?id=100009nun möchte ich gerne zu diesem Pfad (SCRIPTPATH) per CD wechseln und dann relativ (..\ordner\anwendung.exe) eine exe starten.
FOR /F "tokens=* delims=?" %%I IN ('ECHO %0') DO @SET SCRIPTPATH=%%~dpI
CD hier muss SCRIPTPATH rein!
..\ordner\anwendung.exe
bei %0 gibt er auf jeden falle die richtige Pfadangabe aus, allerdings inkl. .bat dateiangabe. Man benödigt deswegen wohl die SCRIPTPATH variable.
VIELEN DANK!!!!!
Antwort schreiben
Antwort 1 von batti-batch vom 06.12.2019, 16:25 Options
Hallo DMgrafik,
leider unterstützt auch der
CD
-Befehl keine
UNC
-Pfade.
Es ist aber möglich, sich mit
NET USE
ein Laufwerk zuzuweisen. Zu diesem dann mit einem Buchstaben bezeichneten Laufwerk kann man mit
laufwerk: wechseln und darin mit dem
CD
-Befehl navigieren.
@ECHO off
SETLOCAL
SET "laufwerk=R:"
FOR /f "delims=" %%i IN ('ECHO %0') DO @SET scriptpath=%%~dpi
NET USE %laufwerk% "%scriptpath:~0,-1%"
%laufwerk%[/code]
Vielleicht hilft Dir dieser Vorschlag bei der Lösung Deines Problems.
Herzliche Grüße
batti-batch
Antwort 2 von DMgrafik vom 06.12.2019, 17:15 Options
Vielen dank schonmal!
Ich muss zugeben, dass ich hier ordendlich auf den trockenen sitzte. Ich mache das nämlich zum ersten mal und habe mit batches gar keine erfahrung. im grunde möchte ich einfach im pfad eine instanz nach oben und in einen anderen ordner wechseln. Ob ich da nun mit CD hinkomme... war nur meine erster gedanke. Also aktueller Pfad eine ordner Ebene hoch und dann ordner\anwendung.exe
Ich habe da leider nicht mal nen ansatz. da ich die Sprache garnicht behersche. Von der Logig her würde ich sagen, dass man eine Variable mit dem Pfad erstellt und man dann die variable +- Pfad irgendwie ausgibt um dahin zu wechseln.
Ist echt wichtig!