Войти

Показать полную графическую версию : Пакетный файл, предназначенный для отражения статистики


Sunny07
20-04-2011, 16:51
Здравствуйте!Помогите пожалуйста с заданием..
требуется написать пакетный файл, предназначенный для отражения статистики по атрибутам файлов в каталоге, заданном определенным путем.

В каталоге файлы с определенным атрибутом подсчитываются, а их количество передается в текстовый файл статистики с дописыванием в него информации вида «Файлов с атрибутом <атрибут>: <количество>». Пути к каталогу и месту назначения, где сохраняется файл статистики, задаются в качестве пакетных параметров. В конце выводится сообщение вида «Отчет сохранен в каталог <путь>».

заранее спасибо :)

zero55
20-04-2011, 17:10
бррр. практический пример пожалуйста назовите...

какие именно атрибуты?

Все что приходит в голову это строка на powershell-е

(Get-Item .\pics.png).attributes

amel27
20-04-2011, 17:37
условие немного странное, но тем не менее:
@(set/p $="Файлов с атрибутом "Архивный" : "& attrib/s "%~f1\*"|findstr/b "A" |find/c /v ""
set/p $="Файлов с атрибутом "Системный" : "& attrib/s "%~f1\*"|findstr/b "...S" |find/c /v ""
set/p $="Файлов с атрибутом "Скрытый" : "& attrib/s "%~f1\*"|findstr/b "....H" |find/c /v ""
set/p $="Файлов с атрибутом "Только чтение" : "& attrib/s "%~f1\*"|findstr/b ".....R" |find/c /v ""
set/p $="Файлов с атрибутом "Неиндексированное содержимое": "& attrib/s "%~f1\*"|findstr/b "........I"|find/c /v ""
)<nul >>"%~2\%~n0.log"
@echo Отчет сохранен в каталог "%~f2\"
@pause>nul

amel27
21-04-2011, 03:45
то же самое в обычном исполнении:
@echo off
SETLOCAL EnableDelayedExpansion

for /f "delims=" %%x in ('attrib/s "%~f1\*"') do (set "$x=%%x"
if "!$x:~0,1!"=="A" set/a $A+=1
if "!$x:~3,1!"=="S" set/a $S+=1
if "!$x:~4,1!"=="H" set/a $H+=1
if "!$x:~5,1!"=="R" set/a $R+=1
)
(echo Файлов с атрибутом "Архивный" : %$A%
echo Файлов с атрибутом "Системный" : %$S%
echo Файлов с атрибутом "Скрытый" : %$H%
echo Файлов с атрибутом "Только чтение": %$R%
)>>"%~f2\%~n0.log"
echo Отчет сохранен в каталог "%~f2\"
pause>nul




© OSzone.net 2001-2012