[identity profile] alex-kabachkoff.livejournal.com posting in [community profile] useful_faq
День добрый!
Подскажите, пожалуйста, как получить в текстовый (или какой другой) файл список всех папок и подпапок на диске или в какой-то определенной папке? Список должен включать все подпапки (файлы не нужны), т.е. быть иерархическим, соответственно, стандартные ДОСовские инструменты, как я понимаю, не прокатят.
Как же быть?
Заранее спасибо!

P.S. Операционка - Windows 2000 или XP

Date: 2007-12-10 08:10 am (UTC)
From: [identity profile] roman-pro.livejournal.com
Поэкспериментировать с командами:
dir /?
tree /?

Date: 2007-12-10 08:10 am (UTC)
From: [identity profile] haviras.livejournal.com
У мну где то была такая рекурсивная хрень на пхп писанная.

А вам изпод консоли?

Date: 2007-12-10 12:59 pm (UTC)
From: [identity profile] haviras.livejournal.com
--------------
filetype: ";
echo "folder ";
echo $path;
echo "/
";
echo "
--------------
";}
if($e==false) {
echo "
--------------
filetype: ";
echo "file";
echo "
--------------
";}
//-------

$nb="      ";




Function Func1 ($path)
{

$e=opendir($path);
while ($file = readdir($e)) {
$b=is_dir($path);


// echo $path; // путь к каталогу, введен пользователем

//echo $file; // выводим содержимое каталога path
$a = $path."/".$file; //складываем путь
if($file=='.')
{
echo $a;
}
/* echo "";

echo "
";*/
$b=is_dir($a); //проверка нового пути на директорию
if($b==0)
{

echo "";
echo "            ";

echo $a;
echo "
";

}
else
{
if($file!='.'&&$file!='..')
{
echo $a;
//FuncPlaceHere
$s=opendir($a);
while ($file1 = readdir($s))
{

echo "
";
echo "";
$a1 = $a."/".$file1; //складываем путь
echo "
";
$b1=is_dir($a1); //проверка нового пути на директорию


if($b1==0)
{ echo "";
echo "            ";
//echo $nb;

echo $file1; // выводим содержимое каталога
echo "
";

}
else
{
if($file1!='.'&&$file1!='..')
{
Func1 ($a1);
}
}
}

}
}
echo "
";
}
closedir($e);

}


Func1 ($path);

?>


Это php скрипт

А это HTML страница к нему:



path



Date: 2007-12-10 08:30 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
du -dh 0 /

А в следующий раз операционную систему указывайте, задавая такие вопросы.

Date: 2007-12-10 08:38 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
dir /s c: > имя_файла_куда_класть список.txt

Date: 2007-12-10 08:40 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
Сорри, если только каталоги, тогда dir /s /a:d c: > file.txt

Date: 2007-12-10 08:57 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
Кстати, если дерево нужно построить - тогда, как замечено выше, tree c: > file.txt

Date: 2007-12-10 03:43 pm (UTC)
From: [identity profile] pan-2.livejournal.com
dir /s /ad /b

Date: 2007-12-10 08:41 am (UTC)
From: [identity profile] http://users.livejournal.com/__resident__/
FolderPrint http://www.stgsys.com/fpp.asp

Date: 2007-12-10 08:46 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
Совсем молодежь мышей не ловит:(
Не, однозначно - Денис Яцутко был прав, когда говорил, что перед тем, как продавать человеку цифромыльницу, нужно принимать у него зачет по пользованию фотоаппаратом Зенит, а перед тем как пускать в винду мышкой шелкать - долго и с пристрастиям экзаменовать по командам DOS.

Date: 2007-12-10 08:49 am (UTC)

Date: 2007-12-10 02:00 pm (UTC)
From: [identity profile] lubech.livejournal.com
Как человек, продавший несколько своих фоток, сделанных "Зенитом", разным издателям, я заявляю:
это невозможно! ибо слишком сложно!