Компьютерный форум 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=253229)

dvassilyev 05-02-2013 13:09 2082920

Получить полный список папок и под папок в определенной папке
 
простая вроде бы задача, команда tree делает ее отлично, но не нужны имена файлов.
dir /AD выводит то, что надо но не выводит подкаталоги и подкаталоги каталогов :)
как можно получить список папок и под папки? в том виде в котором их выдает команда tree, но без файлов в папках? просто в виде дерева каталогов :)
спасибо.

Molchune 05-02-2013 13:16 2082922

хм..
Win 7 результат tree никаких файлов

Код:

C:\Windows\system32>tree c:\test
 Структура папок Серийный номер тома: B00B-04B9
C:\TEST Подпапки отсутствуют


dvassilyev 05-02-2013 13:24 2082927

ок, ща попробую, сам на хрюше сижу.
P.s. была такая идея попробовать на Win 7

dvassilyev 05-02-2013 13:48 2082948

в принципе пойдет, ток не очень красиво :)

еще бы получить как нить получить список не такой "глубокий" например все 3 или 4 под папки

voler 17-11-2016 10:52 2688238

pushd C:\_web\home\www\sw-logs\
for /f %%D in ('dir /b /a:d ^| sort /r') do copy /y C:\_web\home\www\sw-logs\index.html "%%D"

Простой пример, мне данный топик не помог.

Iska 17-11-2016 11:09 2688243

voler, Вы что хотели выразить, не пойму?

megaloman 17-11-2016 17:24 2688351

Не понимаю, в чём проблемы:
Вот tree
Код:

@Echo Off
Set "Where=D:\CMD"

tree "%Where%" >"%~0.log"

Здесь батник надо сохранить в 866 Кодировке, создаётся log-файл с именем батника, просматривать вьювером в 866 кодировке
Вот Dir
Код:

@Echo Off
chcp 1251 >nul

Set "Where=D:\CMD"

Del "%~0.log" 2>nul
FOR /F "usebackq delims=" %%d In (`Dir "%Where%" /S /B /A:D 2^>nul`) DO Echo %%d >>"%~0.log"

start "Out" notepad "%~0.log"

Здесь батник надо сохранить в 1251 Кодировке, создаётся log-файл с именем батника, и можно смотреть результат в Notepad

Iska 17-11-2016 18:34 2688376

megaloman, коллеги dvassilyev'а два года как на конференции нет уже.

megaloman 17-11-2016 21:04 2688428

Iska, Это я в колее, еду и по сторонам не смотрю: прочел заголовок, обсуждения, а их авторов уже не смотрел. Каюсь ...

megaloman 17-11-2016 21:41 2688440

voler,
Цитата:

Цитата Iska
voler, Вы что хотели выразить, не пойму?

Изложите, пожалуйста, проблему: я взял Ваш код, он работает: копирует указанный файл в подпапки указанной папки. Единственное, я бы добавил \ вот так: "%%D\", хотя у меня отработало и без него. Но, возможно, у Вас не всё так просто: допустим, есть скрытые папки или файлы. Опять же, а какой смысл в обратной сортировке имён подпапок? ИМХО, она тут не нужна.
Код:

pushd "С:\_web\home\www\sw-logs"
for /f %%D in ('dir /b /a:d 2^>nul') Do Copy /y index.html "%%D\" >nul

Или вариант при наличии скрытых папок-файлов
Код:

pushd "С:\_web\home\www\sw-logs"
for /f %%D in ('dir /b /a:d 2^>nul') Do Xcopy /Y /H /R index.html "%%D\" >nul



Время: 06:03.

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