Ich brauche Hilfe beim Schreiben einer Batch-Datei. Ich habe einen Pfad in einer variablen Wurzel wie folgt gespeichert:
set root=D:\Work\Root
Dann ändere ich mein Arbeitsverzeichnis wie folgt in dieses Stammverzeichnis:
cd %root%
Wenn ich diese Batchdatei von einer beliebigen Stelle auf dem Laufwerk D aus ausführe, ist dies erfolgreich. Wenn ich jedoch dieselbe Batchdatei von einem anderen Laufwerk ausführe, funktioniert cd% root% nicht.
Gibt es eine Möglichkeit, den Laufwerksbuchstaben aus der Stammvariablen abzurufen? Ich kann dann zuerst das aktuelle Verzeichnis auf dieses Laufwerk ändern und dann soll cd% root% funktionieren.
batch-file
directory
command-prompt
drive
Ananya
quelle
quelle
\d
(Kleinbuchstaben), gibt es einen Unterschied zwischen beiden? Ist die Option nur unabhängig von Groß- und Kleinschreibung?/D
werden bei Schaltparametern wie oben die Groß- und Kleinschreibung nicht berücksichtigt (/D
=/d
), genau wie bei den Befehlen selbst (CD
=cd
). Ich glaube , dass für alle externen Windows - Befehlszeilenprogramme auch wahr ist (wieFINDSTR
,SORT
etc.) Tools von Drittanbietern, auf der anderen Seite, kann case-sensitiven Parameter verwenden.set "root=/d D:\Work\Root"
undcd %root%
oder sogarset "root=cd /d D:\Work\Root"
und nur%root%
Verwenden Sie einfach
cd /d %root%
, um Treiberbuchstaben zu wechseln und Verzeichnisse zu wechseln.Alternativ können Sie
pushd %root%
beim Ändern von Verzeichnissen die Laufwerksbuchstaben wechseln und das vorherige Verzeichnis auf einem Stapel speichern, damit Sie es verwenden könnenpopd
zurückschalten können.Beachten Sie,
pushd
dass Sie damit auch Verzeichnisse in eine Netzwerkfreigabe ändern können. Es wird tatsächlich ein Netzwerklaufwerk für Sie zugeordnet und dann die Zuordnung aufgehoben, wenn Sie daspopd
für dieses Verzeichnis ausführen .quelle
Versuche dies
Viel Spaß beim Wurzeln;)
quelle
Eine einfachere Syntax könnte sein
pushd% root%
quelle