Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Присвоение переменной папкам уровнями выше (http://forum.oszone.net/showthread.php?t=244530)

dorosa 12-10-2012 23:53 2004433

Присвоение переменной папкам уровнями выше
 
Добрый вечер!

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

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

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

Iska 13-10-2012 02:54 2004462

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

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

echo %sDir%

endlocal
exit /b 0


Foreigner 13-10-2012 12:22 2004559

Если нужно только название без полного пути:
Код:

@echo off
setlocal

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


gora 13-10-2012 15:37 2004621

Код:

@echo off
for %%i in ("%~dp0..\..") do set "dir=%%~nxi"
echo %dir%
pause


dorosa 13-10-2012 19:47 2004758

Iska, Foreigner, gora,
Спасибо! Все получилось.


Время: 03:12.

Время: 03:12.
© OSzone.net 2001-