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

Sunny07 20-04-2011 16:51 1662442

Пакетный файл, предназначенный для отражения статистики
 
Здравствуйте!Помогите пожалуйста с заданием..
требуется написать пакетный файл, предназначенный для отражения статистики по атрибутам файлов в каталоге, заданном определенным путем.

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

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

zero55 20-04-2011 17:10 1662455

бррр. практический пример пожалуйста назовите...

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

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

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

amel27 20-04-2011 17:37 1662481

условие немного странное, но тем не менее:
Код:

@(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 1662789

то же самое в обычном исполнении:
Код:

@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



Время: 11:17.

Время: 11:17.
© OSzone.net 2001-