Чи є команда командного рядка Windows, яку я можу використовувати, щоб отримати повний шлях до поточного робочого каталогу?
Крім того, як я можу зберігати цей шлях всередині змінної, що використовується у пакетному файлі?
Чи є команда командного рядка Windows, яку я можу використовувати, щоб отримати повний шлях до поточного робочого каталогу?
Крім того, як я можу зберігати цей шлях всередині змінної, що використовується у пакетному файлі?
Відповіді:
Використовуйте cd
без аргументів, якщо ви використовуєте оболонку безпосередньо або %cd%
якщо ви хочете використовувати її в пакетному файлі (він поводиться як змінна середовище).
Ви можете встановити змінну партії / середовища таким чином:
SET var=%cd%
ECHO %var%
зразок скріншоту з Windows 7 x64 cmd.exe.
Оновлення: якщо ви робитеSET var = %cd%
замістьSET var=%cd%
, нижче, що відбувається. Завдяки джеб.
SET var = %cd%
значення змінної var<space>
не ставиться var
. Вам слід уникати пробілів у команді SET
Цитуйте довідку Windows для set
команди ( set /?
):
Якщо розширення команд увімкнено, є кілька динамічних змінні середовища, які можна розширити, але які не відображаються в список змінних, що відображається SET. Ці змінні значення є обчислюється динамічно щоразу, коли значення змінної розширюється. Якщо користувач явно визначає змінну з одним із цих імен, то це визначення замінить динамічне, описане нижче: % CD% - розширюється на поточний рядок каталогу. % DATE% - розширюється до поточної дати, використовуючи той самий формат, що і команда DATE. % TIME% - розширюється до поточного часу, використовуючи той самий формат, що і команда TIME. % RANDOM% - розширюється до випадкового десяткового числа між 0 і 32767. % ERRORLEVEL% - розширюється до поточного значення ERRORLEVEL % CMDEXTVERSION% - розширюється до поточних розширень командного процесора номер версії % CMDCMDLINE% - розширюється на початковий командний рядок, який викликав Командний процесор.
Зверніть увагу на %CD% - expands to the current directory string.
частину.
У Unix?
pwd
Для Windows ми можемо використовувати
cd
і для Linux
pwd
команда є.
Це завжди працювало для мене:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
Для Windows cd
сама по собі покаже вам поточний робочий каталог.
Для UNIX та роботоподібних систем pwd
буде виконувати те саме завдання. Ви також можете використовувати $PWD
змінну оболонки під деякими оболонками. Я не впевнений, підтримує Windows отримання поточного робочого каталогу через змінну оболонки чи ні.
%cd%
У Windows:
CHDIR Відображає назву або змінює поточний каталог.
У Linux:
PWD Відображає ім'я поточного каталогу.
На підставі подальшого запитання (збереження даних у змінній) у коментарях до chdir post Я ставлюся до обліку, що він хоче зберегти поточний шлях до відновлення після зміни каталогів.
Початковий користувач повинен дивитись на "pushd", який змінює каталог і висуває поточну на стек, який можна відновити за допомогою "popd". На будь-якій сучасній оболонці Windows cmd, яка є шлях для створення пакетних файлів.
Якщо вам дійсно потрібно схопити поточний шлях, то в сучасних оболонках cmd також є змінна% CD%, яку ви можете легко заповнити в іншій змінній для довідки.
Створіть .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
це доступно звідусіль.
@echo off
for /f "usebackq tokens=*" %%x in (`chdir`) do set var=%%x
echo The currenct directory is: %var%
Але, звичайно , відповідь gmaran23 набагато простіша.
tokens=*
виправлень, що.
У командному рядку Windows chdir
або cd
надрукується повний шлях поточного робочого каталогу на консолі.
Якщо ми хочемо , щоб скопіювати шлях , то ми можемо використовувати: cd | clip
.