Windows-Shell-Befehl den vollständigen Pfad zum aktuellen Verzeichnis zu bekommen?
-
03-07-2019 - |
Frage
Gibt es einen Windows-Befehlszeilenbefehl, die ich verwenden kann, den vollständigen Pfad zum aktuellen Arbeitsverzeichnis zu bekommen?
Auch, wie kann ich speichere diesen Weg innerhalb einer Variablen in einer Batch-Datei verwendet?
Lösung
Verwenden cd
ohne Argumente, wenn Sie die Schale direkt verwenden, oder %cd%
, wenn Sie es in einer Batch-Datei verwendet werden sollen (es verhält sich wie eine Umgebungsvariable).
Andere Tipps
Sie können eine Batch / Umgebungsvariable wie folgt festgelegt:
SET var=%cd%
ECHO %var%
Beispiel-Screenshot von einem Windows 7 x64 cmd.exe.
Update: , wenn Sie einen SET var = %cd%
statt SET var=%cd%
tun, ist unten, was passiert. Dank jeb.
Auf Unix?
PWD
Das hat für mich immer funktioniert:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
Für Windows können wir verwenden
cd
und für Linux
pwd
Befehl gibt.
Für Windows cd
selbst zeigt Ihnen das aktuelle Arbeitsverzeichnis.
Für UNIX und workalike Systeme pwd
die gleiche Aufgabe. Sie können auch das $PWD
Shell-Variable bei einigen Shells verwenden. Ich bin nicht sicher, ob Windows unterstützt das aktuelle Arbeitsverzeichnis über ein Shell-Variable bekommen oder nicht.
Unter Windows:
CHDIR Zeigt den Namen des oder ändert das aktuelle Verzeichnis.
In Linux:
PWD Zeigt den Namen des aktuellen Verzeichnisses an.
Auf der Grundlage der Follow-up-Frage (die Daten in einer Variablen) in den Kommentaren zu dem chdir Post Ich wette, er will den aktuellen Pfad speichern, um sie wiederherzustellen, nachdem changeing Verzeichnisse.
Der ursprüngliche Benutzer sollte bei „pushd“ aussehen, das Verzeichnis ändert und schiebt die aktuellen auf einen Stapel, der mit einem „popd“ gestellt werden kann. Auf alle modernen Windows-cmd Shell, dass der Weg zu gehen, wenn Batch-Dateien zu machen.
Wenn Sie wirklich den aktuellen Pfad greifen müssen dann moderne cmd Schalen auch eine% CD% Variable, die Sie leicht in eine andere Variable als Referenz stopfen weg kann.
@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"
Aber natürlich , gmaran23 Antwort ist das viel einfacher ein.
Erstellen Sie eine .bat
Datei unter System32
, lassen Sie uns nennen es den Befehl copypath.bat
Strompfad kopieren könnte :
echo %cd% | clip
Erklärung:
%cd%
geben Ihnen Strompfad
CLIP
Description:
Redirects output of command line tools to the Windows clipboard.
This text output can then be pasted into other programs.
Parameter List:
/? Displays this help message.
Examples:
DIR | CLIP Places a copy of the current directory
listing into the Windows clipboard.
CLIP < README.TXT Places a copy of the text from readme.txt
on to the Windows clipboard.
Jetzt copyclip
ist von überall verfügbar.
In einer Windows-Eingabeaufforderung chdir
oder cd
den vollständigen Pfad des aktuellen Arbeitsverzeichnisses in der Konsole aus.
Wenn wir den Pfad kopieren wollen, dann können wir verwenden:. cd | clip
Unter Windows Typ cd
für den Arbeitsstrompfad.
Unter Linux pwd
für den aktuellen Arbeitspfad.