Чи є команда командного рядка 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.