Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

Aktives Laufwerk in einer Batch-Datei abfragen





Frage

Habe diese Anfrage schon einmal gestellt und wollte auf die Beiträge antworten, was mir leider nicht möglich war! Es kam nur eine Meldung "Posting geschlossen", was hab ich falsch gemacht? Jetzt meine Antwort an Semi Auf Diese Weise kann ich das aktuelle Verzeichnis anzeigen lassen, aber wie kann ich dann mit einer If-Abfrage klären welches Laufwerk es ist. In der Umgebungsvariablen ist ja dann der komplette Pfad, ich bräuchte ja quasi nur den ersten Buchstaben daraus! Meine weitere Abfrage sollte dann in etwa so aussehen: If not "%root%"=="c" goto fehler

Antwort 1 von hendrikw

mit "%~d0" bekommst Du das Laufwerk, auf dem die Batch ist (z.B. "C:").
mfg
Hendrik

Antwort 2 von clemens

Das hab ich jetzt noch nicht ganz geschnallt,
wie muß ich das eingeben, etwa
'set var=%~do' ?
In der Dos-Eingabeaufforderung von meinem WinXP gehts nicht!

Antwort 3 von semi


@echo off
set current_dir=%cd%
cd cd set root=%cd%
cd %current_dir%
if "%root%"=="C:\" goto c
if "%root%"=="D:\" goto d
echo %root%
goto end
:c
echo %root%
goto end
:d
echo %root%
goto end
:end


Antwort 4 von semi

Oh, was neues :-)
Die Lösung von Hendrik mit den CALL Parametern ist besser.

@echo off
set laufwerk=%~d0
echo %laufwerk%
set laufwerk=

Gebe call /? im Dos-Fenster ein, dann siehst Du die Syntax dazu.

Gruß,
Michael

Antwort 5 von clemens

Jetzt habe ich es immer noch nicht geschafft!
Hendriks Lösung gibt mir stets nur Laufwerk C:\ wieder, wo die Batch-Datei liegt, auch wenn ich sie von einem anderen Ort starte!
Bei Michaels Vorschlag bekomme ich zwar immer den korrekten Pfad in die Variable, da ich aber nur den Laufwerksbuchstaben abfragen möchte, und nicht den ganzen Pfad klappt es so auch noch nicht!

Antwort 6 von hendrikw

Vorschlag:
Rufe die Batch mit einem Punkt (.) als erstem Parameter auf und verwende "%~d1"
mfg
Hendrik

Antwort 7 von clemens

Super, es klappt jetzt!
Geniale Idee mit dem Punkt als ersten Parameter!
Vielen Dank für die Hilfe!
Gruß
Clemens

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: