Команда командной строки Windows, чтобы получить полный путь к текущему каталогу?

StackOverflow https://stackoverflow.com/questions/607670

Вопрос

Есть ли команда командной строки Windows, которую я могу использовать, чтобы получить полный путь к текущему рабочему каталогу?

Кроме того, как я могу сохранить этот путь внутри переменной, используемой в пакетном файле?

Это было полезно?

Решение

Использование cd без каких-либо аргументов, если вы используете оболочку напрямую, или %cd% если вы хотите использовать его в пакетном файле (он ведет себя как переменная окружения).

Другие советы

Вы можете установить пакетную переменную / переменную среды следующим образом:

SET var=%cd%
ECHO %var%

пример скриншота из Windows 7 x64 cmd.exe .

enter image description here

Обновить: если вы сделаете SET var = %cd% вместо того, чтобы SET var=%cd% , ниже показано, что происходит.Спасибо Джебу.

enter image description here

Захват текущего каталога из пакетного файла

Процитируйте справку Windows для set команда (set /?):

If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET.  These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:

%CD% - expands to the current directory string.

%DATE% - expands to current date using same format as DATE command.

%TIME% - expands to current time using same format as TIME command.

%RANDOM% - expands to a random decimal number between 0 and 32767.

%ERRORLEVEL% - expands to the current ERRORLEVEL value

%CMDEXTVERSION% - expands to the current Command Processor Extensions
    version number.

%CMDCMDLINE% - expands to the original command line that invoked the
    Command Processor.

Обратите внимание на %CD% - expands to the current directory string. часть.

В Unix?

пвд

У меня это всегда срабатывало:

SET CurrentDir="%~dp0"

ECHO The current file path this bat file is executing in is the following:

ECHO %CurrentDir%

Pause

Для Windows мы можем использовать

cd

и для Linux

pwd

команда есть.

Для Windows, cd сам по себе покажет вам текущий рабочий каталог.

Для UNIX и аналогичных систем, pwd будет выполняться та же задача.Вы также можете использовать $PWD переменная оболочки в некоторых оболочках.Я не уверен, поддерживает ли Windows получение текущего рабочего каталога через переменную оболочки или нет.

В Windows:

ЧДИР Отображает имя текущего каталога или изменяет его.

В Linux:

ПВД Отображает имя текущего каталога.

Основываясь на последующем вопросе (сохранить данные в переменной) в комментариях к сообщению chdir, я держу пари, что он хочет сохранить текущий путь, чтобы восстановить его после смены каталогов.

Исходный пользователь должен посмотреть на "pushd", который изменяет каталог и помещает текущий в стек, который может быть восстановлен с помощью "popd".В любой современной командной оболочке Windows это правильный путь при создании пакетных файлов.

Если вам действительно нужно получить текущий путь, то в современных командных оболочках также есть переменная %CD%, которую вы можете легко вставить в другую переменную для справки.

@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"

Но, конечно, ответ gmaran23 гораздо проще.

Создать .bat файл под System32, давайте назовем это copypath.bat команда для копирования текущего пути могло бы быть:

echo %cd% | clip

Объяснение:

%cd% даст вам текущий путь

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.

Сейчас copyclip доступен отовсюду.

В командной строке Windows, chdir или cd выведет полный путь к текущему рабочему каталогу в консоли.

Если мы хотим скопировать путь, то мы можем использовать: cd | clip.

В Windows введите cd для рабочего пути тока.

В Linux, pwd для текущего рабочего пути.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top