Поточний каталог - змінну в CMD-скриптах, Хмарний фронт
Поточний каталог - змінну в CMD-скриптах
Ось знадобився мені днями сабж. Рішення виявилося не зовсім очевидним. Ось приклад, може, кому ще знадобиться.
FOR /F "usebackq tokens=*" %%i IN (`cd`) DO set CurrentDir=%%i ECHO %CurrentDir%
Зверніть увагу на зворотні лапки. У цьому прикладі в першому рядку виведення команди cd (довгий шлях, можливо, що містить прогалини, без лапок) записується в змінну %CurrentDir%, яка потім використовується в другому рядку скрипта.
UPDATE: Все набагато простіше. Є стандартна змінна %CD%
Сподобалося це:
Ця інформація була затверджена на Лютий 15, 2010 на 23:04 і проходить під Сисадміну, Windows. Ви можете відповісти на будь-який відгук до цього пункту через RSS 2.0 feed. Ви можете скинути до кінця і залишити відповідь. Pinging is currently not allowed.
тільки ось %cd% виводить шлях лише до першого пропуску. і лапки не допомагають 😦
Щойно перевірив у 64-бітній Сімерці. Ось такий cmd-шник:
C:\Users\Phil>cd "c:\Temp\Папка\з довгим ім'ям\з пробілами"
c:\Temp\Папка\з довгим\ім'ям\з пробілами>Test.cmd
c:\Temp\Папка\з довгим\ім'ям\з пробілами>set test=c:\Temp\Папка\з довгим\імен єм\з пробілами
c:\Temp\Папка\з довгим\ім'ям\з пробілами>pause Для продовження натисніть будь-яку клавішу . . .
c:\Temp\Папка\з довгим\ім'ям\з пробілами>echo c:\Temp\Папка\з довгим\ім'ям\з пробілами c:\Temp\Папка\з довгим\ім'ям\з пробілами
c:\Temp\Тека\з довгим\ім'ям\з пробілами>
set test = % cd % pause echo "% test %"
мені більше підійшов такий метод: set TOOLS_PATH=%
dp0 (шлях до папки де лежить батник без слєша) set TOOLS_PATH=%TOOLS_PATH:
0,-1% (теж саме, тільки без слеша в кінці)