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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

SET var=%cd%
ECHO %var%

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

enter image description here

Обновление:, если вы выполняете SET var = %cd% вместо SET var=%cd%, ниже происходит то, что происходит. Благодаря jeb.

enter image description here

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

Ответ 3

Отправьте справку 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..

Ответ 4

В Unix?

PWD

Ответ 5

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

cd

и для Linux

pwd

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

Ответ 6

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

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

Ответ 7

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

SET CurrentDir="%~dp0"

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

ECHO %CurrentDir%

Pause

Ответ 8

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

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

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

Ответ 9

В Windows:

CHDIR Отображает имя или изменяет текущий каталог.

В Linux:

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

Ответ 10

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

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

Ответ 11

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

Спасибо.

Ответ 12

В Windows Type cd  для рабочего тока В Linux pwd Для текущего рабочего пути