PDA

Показать полную графическую версию : [решено] Присвоение переменной папкам уровнями выше


dorosa
12-10-2012, 23:53
Добрый вечер!

Имеется вложенная папка - Win и в ней бат файл. Известно имя предыдущей папки - Projects.
Количество и имена начальных папок могут меняться

D:\Корневая папка\Первая вложенная\Projects\Win
D:\Корневая папка\Первая вложенная\Вторая вложенная\Projects\Win

Нужно присвоить переменную папке, которая перед папкой - Projects
Как это можно сделать?

Iska
13-10-2012, 02:54
@echo off
setlocal enableextensions enabledelayedexpansion

pushd %~dp0..\..
set sDir=%cd%
popd

echo %sDir%

endlocal
exit /b 0

Foreigner
13-10-2012, 12:22
Если нужно только название без полного пути:

@echo off
setlocal

pushd "%~dp0..\.."
for %%i in ("%cd%") do set "dir=%%~nxi"
echo %dir%
popd

gora
13-10-2012, 15:37
@echo off
for %%i in ("%~dp0..\..") do set "dir=%%~nxi"
echo %dir%
pause

dorosa
13-10-2012, 19:47
Iska, Foreigner, gora,
Спасибо! Все получилось.




© OSzone.net 2001-2012