Laufwerk auslesen und und Pfad umleiten

21/11/2008 - 23:05 von Harald Maedl | Report spam
Hallo, wach?

... und guten Abend!

In einem Win-Programm müssen Pfadangeben in einem Skript eingeben
werden. Wenn man das Programm nun auf einen Stick kopiert, dann gibt es
Probleme mit dem Laufwerkbuchstaben, weil man jedesmal den Pfad anpassen
und dann kompilieren muss.

Meine Idee ist, den Laufwerksbuchstaben auszulesen, z.B mit einer
bat-Datei.
8<--[ Pfad.bat ]-->8
for /F "eol=# delims=#" %%i in ("%CD%") do @Set "z=%%~di"
echo %z%
8<->8

Es wird mit je nach Anschluss z.B "G:" oder "H:" ausgegeben. Schön das
Teil scheint soweit zu funktionieren, nur nutzt mir die
Bildschirmausgabe nichts, die habe ich nur zum Testen rein.

Die Idee ist nun, das gefundene Laufwerk "umzubenennen" bzw einen
virtuellen Laufwerksbuchstaben zuweisen, z.B als Laufwerk X:
Der Vorteil, ich bràuchte im Skript nur mehr als Laufwerksnamen X:\
eingeben und könnte dann damit von PC zu PC wandern.
Gut, das ist nicht sauber, aber das wàre zunàchst mal für meine Zwecke
ausreichend. Geht das?

Ich habe irgendwas mit Subst in Erinnerung, aber das will nicht
funktionieren.

Und als letztes möchte dann das eigentliche Programm starten.

Habt ihr Ideen dazu?




Cu,
Harald
 

Lesen sie die antworten

#1 Matthias Tacke
21/11/2008 - 23:27 | Warnen spam
Harald Maedl wrote:
Hallo, wach?

... und guten Abend!

In einem Win-Programm müssen Pfadangeben in einem Skript eingeben
werden. Wenn man das Programm nun auf einen Stick kopiert, dann gibt es
Probleme mit dem Laufwerkbuchstaben, weil man jedesmal den Pfad anpassen
und dann kompilieren muss.

Meine Idee ist, den Laufwerksbuchstaben auszulesen, z.B mit einer
bat-Datei.
8<--[ Pfad.bat ]-->8
for /F "eol=# delims=#" %%i in ("%CD%") do @Set "z=%%~di"
echo %z%
8<->8

Es wird mit je nach Anschluss z.B "G:" oder "H:" ausgegeben. Schön das
Teil scheint soweit zu funktionieren, nur nutzt mir die
Bildschirmausgabe nichts, die habe ich nur zum Testen rein.

Die Idee ist nun, das gefundene Laufwerk "umzubenennen" bzw einen
virtuellen Laufwerksbuchstaben zuweisen, z.B als Laufwerk X:
Der Vorteil, ich bràuchte im Skript nur mehr als Laufwerksnamen X:\
eingeben und könnte dann damit von PC zu PC wandern.
Gut, das ist nicht sauber, aber das wàre zunàchst mal für meine Zwecke
ausreichend. Geht das?

Ich habe irgendwas mit Subst in Erinnerung, aber das will nicht
funktionieren.

Und als letztes möchte dann das eigentliche Programm starten.

Habt ihr Ideen dazu?



Ich würde nicht den aktuellen Pfad nehmen, sondern den Speicherort
der aktuellen Batchdatei. Je nach Aufruf der Batchdatei kann der aktuelle
Pfad ein ganz anderer sein.

Wenn möglich weise doch ein Netzlaufwerk zu:

@echo off
set Drv=%~d0
net use X: \\%Computername%\%Drv::=%$\RelativerPfad
start "" X:Deine.exe

HTH
Matthias

Ähnliche fragen