Другие языки программирования и технологии

Нужно создать цепочку из N каталогов, вложенных друг в друга.

Подскажите как сделать, а то бьюсь и не могу понять как =( Сделать все это нужно bat-файлом
@echo off
cls
set param1=%1
set param2=%2
if "%param2%"=="" (set param2=subdir)
set p=.
call :main
exit /b

:proc
set p=%p%\%param2%%1
mkdir %p% 1> nul 2>&1
if /i %errorlevel% neq 0 (
echo Каталог существует
)
exit /b

:main
for /l %%a in (1, 1, %param1%) do (call :proc %%a)
exit /b

Сохраняешь, скажем, в ndir.cmd. Вызывается так:
ndir 5 - создаст пять вложенных каталогов subdirN один в другой,
ndir 5 folder - создаст пять вложенных каталогов folderN один в другой.
---
Уважайте время других участников Ответов. Не забывайте отмечать лучший ответ.
ВГ
Владимир Гончаренко
5 083
Лучший ответ
вот тебе бат запусти один раз увидишь вложеные дириктории
как хотел

@echo off
mkdir "newdir\"
copy dirs.bat newdir
chdir newdir
call dirs.bat
exit
воздавай директории в цикле 0 .. N
зачем тебе Батник?)) ) типа вирус?)) ) ахаах я бы сам тебе написал)) ) да у меня MAC OS даже не протестишь)) ) и вообще я на Java пишу ...разбирайся
-----------------------------------------------------код на Си ++ ниже!

TCHAR sPathTo [] = “c:\\1\\2\\3\\4\\5\\6\\7\\8”;//директория, которую нужно создать

bool AQLCreateDirectory(TCHAR * sPathTo)
{
//пока директория не создана, будем пытаться её создать//
while(CreateDirectory(sPathTo, NULL) == FALSE)
{
/* директория не создана, поэтому нужно сначала создать ”предыдущую” директорию */
TCHAR sTemp[MAX_PATH];
int k = strlen(sPathTo);
strcpy(sTemp, sPathTo);

//пытаемся найти и создать директорию самого “нижнего” уровня
while(CreateDirectory(sTemp, NULL) != TRUE)
{
/* пытаемся найти первичные половые признаки предыдущей директории.... */
while(szTemp1[--k] != '\\')
{
if(k<=1)
return FALSE;/* похоже, что директория создана быть вообще не может!
sTemp[k] = NULL;
}
/* ...а как только нашли - создать её */
}
//во время первого прохода будет создана директория “1”, во время второго – “2” и т. д.
}
return TRUE;
}

Похожие вопросы