|
В bat-скрипте Windows вы можете получить имя текущего каталога несколькими способами.
Способ 1: использование %CD% и извлечение имени
@echo off for %%I in ("%CD%") do set "CURRENT_DIR=%%~nxI" echo Текущий каталог: %CURRENT_DIR%
Способ 2: использование %~nx0 (если скрипт находится в нужном каталоге)
@echo off set "CURRENT_DIR=%~nx0\.." echo Текущий каталог: %CURRENT_DIR%
Способ 3: более надежный способ с командой CD
@echo off for /f "delims=" %%i in ('cd') do set "CURRENT_DIR=%%~nxi" echo Текущий каталог: %CURRENT_DIR%
Способ 4: если нужно полный путь без имени диска
@echo off set "CURRENT_FOLDER=%CD%" set "CURRENT_FOLDER=%CURRENT_FOLDER:*\=%" echo Текущая папка: %CURRENT_FOLDER%
Самый простой и надежный способ:
@echo off set "FOLDER_NAME=%CD%" echo Полный путь: %FOLDER_NAME%
:: Получить только имя каталога for %%I in ("%CD%") do set "DIR_NAME=%%~nxI" echo Имя каталога: %DIR_NAME%
Пояснение:
%CD% - содержит полный путь к текущему каталогу
%~nxI - извлекает только имя файла/каталога из полного пути
for %%I in ("путь") - цикл для обработки пути
Пример результата: если вы находитесь в C:\Users\Username\Projects\MyProject, то переменная DIR_NAME будет содержать значение MyProject.
[Ссылки]
1. Практические приемы программирования в bat-файлах. 2. Применение команды for в bat-файлах. 3. Инструменты командной строки и автоматизации. 4. Windows изнутри: осваиваем командную строку. |