Есть ли команда командной строки Windows, которую я могу использовать для получения полного пути к текущему рабочему каталогу? Кроме того, как я могу сохранить этот путь внутри переменной, используемой в пакетном файле?
Командная оболочка Windows, чтобы получить полный путь к текущему каталогу?
Ответ 1
Используйте cd
без аргументов, если вы используете оболочку напрямую или %cd%
, если вы хотите использовать ее в пакетном файле (ведет себя как среда var).
Ответ 2
Вы можете установить переменную пакет/среду следующим образом:
SET var=%cd%
ECHO %var%
пример скриншота из Windows 7 x64 cmd.exe.
Обновление:, если вы выполняете SET var = %cd%
вместо SET var=%cd%
, ниже происходит то, что происходит. Благодаря jeb.
Ответ 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
Для текущего рабочего пути