Показать полную графическую версию : [решено] Вывод списка файлов с полными путями и размерами
Есть задача сделать таблицу имеющую следующие столбцы:
Имя дериктории Имя файла Размер файла
файлы лежат в одной папке, но в разных поддерикториях.
Мне удалось только вытащить Имя дериктории + Имя файла
командой dir /b /s
а вот с размером проблемма.
Возможно проблемма решается тока скриптом, но писать таковые к сожелению не умею. :weep:
Поможите.
Grenky
А зачем ты параметр "/b" ставишь? Убери его и будет у тебя и размер указываться...
...
/B Вывод только имен файлов.
...
так там получается такой формат:
Содержимое папки 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 байт
тут наскока видно нет формата
который я описал выше
Я так думаю, что в условиях DOS такое сделать невозможно. Скорей стоит попробовать какие-либо файлоые менеджеры (для Windows), которые бы имели функцию фильтра файлов.
Дельный совет, но не продуктивный.
Вроде чета сказал а толку ноль.
[hr]:moderatorСоветую впредь воздержаться от подобных высказываний. Предложение Murder7 не противоречит приведенным тобой исходным данным, а вот твое выссказывание - абсолютно не обосновано. Если тебе что-то непонятно или ты считаещь что-то не верным, то в следующий раз, постарайся аргументировать свои слова или задавай уточняющие вопросы.
Предложили такоы вот скрипт.
///////////////////////////////////////////////////////////////////////
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:\папочка
она выдаёт ответ в нужной форме, но в виде информ окна и не сканирования поддирикторий.
может кто рубит в скриптах помогите добавить следующие функции:
сканирование субдиректорий
сохранение результата в файл
GrenkyЕсть задача сделать таблицу имеющую следующие столбцы:
Имя дериктории Имя файла Размер файла А как ты в случае в параметром "/b" отделяешь директорий и имя файла в отдельные столбцы? Или тебе этого не ребуется, а дастаточно такого вида?
Если это так, то попробуй посмотреть прогу NikFileTree (http://www.niksoft.ru/programs/nikfiletree.htm). Простенько и со вкусом, есть различные настройки. В текущей версии (1.8), путь к файлу от его имени разделителями не отделяется, но в одну из последующих версий автор возможно это и встроит (чтоб удобней экспорт в Excel было делать, я ему об этом писал).
Средствами команды "dir" нет возможности получить в выходном файле в одной строке сразу и директорий, и имя файла, и его размер.
Grekalov
23-03-2005, 14:53
Да, именно NikFileTree и спасет Grenky. Попробовал сам ее использовать, результат именно такой, какой требуется Grenky!
GrekalovПопробовал сам ее использовать, результат именно такой, какой требуется Grenky!Пока об этом не заявит сам Grenky, точно об этом знать не возможно (при условии что ты не ясновидец, что на форуме будет совсем не лишне...:)).
а ЫсчЁ есть такая халабуда, как TreeDir (http://treedir.siteburg.com/Download.html) - это или текстовый файл, или dynamic HTML файл. Много настроек. :)
А чё мучаться??? НЕльзя в в каком нить текстовике??
Дык Grenky так и не пояснил, нафига ему енто надо, в смысле просто так, посмотреть размеры, или в целях программного использования в дальнейшем.
Murder7 прошу прощения если чем обидел.
Greyman спасибо за прогу, очень помогли
APOSTOL прога нужна именно для того чтоб выполняла свою задачу, очень часто надобилась именна эта операция.
к примеру составить список фильмов\видео\документов и т.п.
APOSTOL сенкс персонально твоя прога вообще то что надо, dynamic HTML файл очень порадовал
Grenky
По кр. мере мой совет спросить в ПО Виндовс оказался в тему :) Использовать dir было моей идеей, и без поддиректорий ей можно было бы обойтись извращаясь в Экселе...
VseDoFeNi
03-07-2005, 14:04
К слову пришлось, простейший вариант:
For /F %%i IN ('DIR /s /b') DO @ :FilesList "%%i"
pause
:FilesList
if not exist %~1\nul echo %~p1 %~nx1 %~z1>> flist.txt
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
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.