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

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

Grenky 23-03-2005 05:31 309188

[решено] Вывод списка файлов с полными путями и размерами
 
Есть задача сделать таблицу имеющую следующие столбцы:

Имя дериктории Имя файла Размер файла

файлы лежат в одной папке, но в разных поддерикториях.

Мне удалось только вытащить Имя дериктории + Имя файла

командой dir /b /s
а вот с размером проблемма.

Возможно проблемма решается тока скриптом, но писать таковые к сожелению не умею. :weep:

Поможите.

Greyman 23-03-2005 06:00 309191

Grenky
А зачем ты параметр "/b" ставишь? Убери его и будет у тебя и размер указываться...
Цитата:

Цитата dir /?
...
/B Вывод только имен файлов.
...


Grenky 23-03-2005 06:26 309194

так там получается такой формат:
Код:


 Содержимое папки C:\Program Files\Common Files\Microsoft Shared\THEMES11\SONORA

25.10.2004  17:56    <DIR>          .
25.10.2004  17:56    <DIR>          ..
28.06.2002  12:48            2*209 PREVIEW.GIF
27.03.2003  20:12            50*893 SONORA.ELM
28.01.2003  15:53              484 SONORA.INF
16.10.2002  10:03            21*812 THMBNAIL.PNG
              4 файлов        75*398 байт

 Содержимое папки C:\Program Files\Common Files\Microsoft Shared\THEMES11\SPRING

25.10.2004  17:56    <DIR>          .
25.10.2004  17:56    <DIR>          ..
28.06.2002  12:48            2*527 PREVIEW.GIF
27.03.2003  20:12            64*509 SPRING.ELM
28.01.2003  15:53              466 SPRING.INF
16.10.2002  10:03            19*525 THMBNAIL.PNG
              4 файлов        87*027 байт

тут наскока видно нет формата
который я описал выше

Murder7 23-03-2005 07:27 309204

Я так думаю, что в условиях DOS такое сделать невозможно. Скорей стоит попробовать какие-либо файлоые менеджеры (для Windows), которые бы имели функцию фильтра файлов.

Grenky 23-03-2005 09:21 309232

Дельный совет, но не продуктивный.

Вроде чета сказал а толку ноль.

:moderatorСоветую впредь воздержаться от подобных высказываний. Предложение Murder7 не противоречит приведенным тобой исходным данным, а вот твое выссказывание - абсолютно не обосновано. Если тебе что-то непонятно или ты считаещь что-то не верным, то в следующий раз, постарайся аргументировать свои слова или задавай уточняющие вопросы.

Grenky 23-03-2005 09:33 309237

Предложили такоы вот скрипт.

Код:

///////////////////////////////////////////////////////////////////////
var fso = new ActiveXObject("Scripting.FileSystemObject");

///////////////////////////////////////////////////////////////////////
var folder = fso.GetFolder(WScript.Arguments(0));

var filesEnum = new Enumerator(folder.Files);       
for(;!filesEnum.atEnd(); filesEnum.moveNext())
{
        var file = filesEnum.item();

        WScript.Echo(file.Path.substr(0, file.Path.length - file.Name.length) + "\t" + file.Name  + "\t" + file.Size + " bytes" + "\n");
}

запускаем вот так:

Код:

dir.js C:\папочка
она выдаёт ответ в нужной форме, но в виде информ окна и не сканирования поддирикторий.

может кто рубит в скриптах помогите добавить следующие функции:
сканирование субдиректорий
сохранение результата в файл

Greyman 23-03-2005 12:20 309292

Grenky
Цитата:

Есть задача сделать таблицу имеющую следующие столбцы:
Имя дериктории Имя файла Размер файла
А как ты в случае в параметром "/b" отделяешь директорий и имя файла в отдельные столбцы? Или тебе этого не ребуется, а дастаточно такого вида?
Если это так, то попробуй посмотреть прогу NikFileTree. Простенько и со вкусом, есть различные настройки. В текущей версии (1.8), путь к файлу от его имени разделителями не отделяется, но в одну из последующих версий автор возможно это и встроит (чтоб удобней экспорт в Excel было делать, я ему об этом писал).
Средствами команды "dir" нет возможности получить в выходном файле в одной строке сразу и директорий, и имя файла, и его размер.

Grekalov 23-03-2005 14:53 309341

Да, именно NikFileTree и спасет Grenky. Попробовал сам ее использовать, результат именно такой, какой требуется Grenky!

Greyman 23-03-2005 17:26 309393

Grekalov
Цитата:

Попробовал сам ее использовать, результат именно такой, какой требуется Grenky!
Пока об этом не заявит сам Grenky, точно об этом знать не возможно (при условии что ты не ясновидец, что на форуме будет совсем не лишне...:)).

APOSTOL 23-03-2005 20:35 309452

а ЫсчЁ есть такая халабуда, как TreeDir - это или текстовый файл, или dynamic HTML файл. Много настроек. :)

phpbook 23-03-2005 20:47 309462

А чё мучаться??? НЕльзя в в каком нить текстовике??

APOSTOL 23-03-2005 20:58 309471

Дык Grenky так и не пояснил, нафига ему енто надо, в смысле просто так, посмотреть размеры, или в целях программного использования в дальнейшем.

Grenky 24-03-2005 03:33 309574

Murder7 прошу прощения если чем обидел.

Greyman спасибо за прогу, очень помогли

APOSTOL прога нужна именно для того чтоб выполняла свою задачу, очень часто надобилась именна эта операция.
к примеру составить список фильмов\видео\документов и т.п.

Grenky 24-03-2005 03:42 309577

APOSTOL сенкс персонально твоя прога вообще то что надо, dynamic HTML файл очень порадовал


Vadikan 24-03-2005 03:51 309578

Grenky
По кр. мере мой совет спросить в ПО Виндовс оказался в тему :) Использовать dir было моей идеей, и без поддиректорий ей можно было бы обойтись извращаясь в Экселе...

VseDoFeNi 03-07-2005 14:04 338025

К слову пришлось, простейший вариант:
Код:

For /F %%i IN ('DIR /s /b') DO @ :FilesList "%%i"

pause

:FilesList
if not exist %~1\nul echo %~p1 %~nx1 %~z1>> flist.txt


Vadikan 03-07-2005 22:14 338080

VseDoFeNi
CALL забыл :)
Код:

@echo off
For /F %%i IN ('DIR /s /b') DO @call :FilesList "%%i"

pause

:FilesList
if not exist %~1\nul echo %~p1 %~nx1 %~z1>> flist.txt



Время: 21:37.

Время: 21:37.
© OSzone.net 2001-