Есть ли команда командной строки Windows, которую я могу использовать для получения полного пути к текущему рабочему каталогу? Кроме того, как я могу сохранить этот путь внутри переменной, используемой в пакетном файле?Команда оболочки Windows, чтобы получить полный путь к текущему каталогу?
ответ
Используйте cd
без аргументов, если вы используете оболочку напрямую, или %cd%
, если вы хотите использовать его в пакетном файле (ведет себя как среда var).
В Unix?
PWD
Первоначально OP запросил «команду» и не указал ОС. OS теперь указана, поэтому этот ответ больше не уместен. – Tisch
Для Windows cd
сам по себе покажет вам текущую рабочую директорию.
Для UNIX и рабочих систем pwd
выполнит ту же задачу. Вы также можете использовать переменную оболочки $PWD
в некоторых оболочках. Я не уверен, поддерживает ли Windows получение текущего рабочего каталога через переменную оболочки или нет.
Я не могу понять, почему ему нужно «cd», чтобы увидеть его текущую директорию. По умолчанию он отображается как день. И если он изменил его, он точно знает, что делает «cd». – Rook
Ему нужен пакетный файл. – Ikke
очень старый, но только для полноты: да, у окон есть вариация для этого. Он назван (предположим ...) '% cd%' – Stephan
Основываясь на следующем вопросе (храня данные в переменной) в комментариях к сообщению chdir, я уверен, что он хочет сохранить текущий путь для его восстановления после смены каталогов.
Оригинальный пользователь должен посмотреть на «pushd», который меняет каталог и толкает текущий в стек, который можно восстановить с помощью «popd». На любой современной Windows CMD-оболочке, которая подходит для создания пакетных файлов.
Если вам действительно нужно захватить текущий путь, то современные CMD-оболочки также имеют переменную% CD%, которую вы можете легко запаковать в другую переменную для справки.
Quote помощь для 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.
часть.
Это всегда работает для меня:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
Это делает не то, что нужно - находит путь к пакетному сценарию, а не к текущему каталогу. –
Сокращенный из-за того, что не отвечает на вопрос OP. – Tisch
Упрощенный из-за ответа на вопрос OP ... и предоставление мне точного решения, которое я искал. Благодаря! –
Вы можете установить переменную партии/окружающей среды следующим образом:
SET var=%cd%
ECHO %var%
скриншот выборки из Windows 7 x64 cmd.exe.
Update: если вы делаете SET var = %cd%
вместо SET var=%cd%
, ниже того, что происходит. Благодаря jeb.
В соответствии с вопросом, этот ответ должен быть фактически принят. –
Но это не работает, так как 'SET var =% cd%' помещает значение в переменную 'var
В соответствии с вопросом, этот ответ должен быть фактически принят. –
@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"
Но, конечно, ответ gmaran23 является гораздо проще один.
Для Windows можно использовать
cd
и для Linux
команда pwd
есть.
В Windows:
CHDIR Отображает или изменяет имя текущего каталога.
В Linux:
PWD Показывает имя текущего каталога.
В командной строке Windows chdir
или cd
напечатает полный путь к текущему рабочему каталогу в консоли. Если мы хотим скопировать путь, мы можем использовать: cd | clip
.
Спасибо.
В Windows Тип cd
для работы Текущий путь В Linux pwd
Для текущей рабочей Путь
Есть уже 10 ответов с тем же решением, но больше объяснений – jeb
Вы, кажется, не хватает важной частью вопроса. Пожалуйста, измените. – GEOCHET
find/dir/to/start/from -type f -ls Этот формат даты для числового поиска/dir/to/start/from -type f -exec ls -l -time-style = "+% Y% m % e% H:% M "{} \; – 2012-05-07 00:54:18