Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2013, 22:34   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В этой папке множество пользователей хранят свои файлы и нужно контролировать количество файлов в данной папке.
Так это делается не скриптами а заданиями квот для пользователей на определенную папку. В расшарке для каждого юзера создается своя папка, и для нее в свойствах настраивается квота.
Цитата:
Можно тогда сделать так, что бы данные BAT Файла обновлялись хотя бы раз в 5 минут?
Можно. Поставь его в планировщик задач на 5 минут. Это в панели управления.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2013, 06:59   #12
so1idsnake
Пользователь
 
Регистрация: 05.08.2013
Сообщений: 16
По умолчанию

Если я попытаюсь поставить BAT файл в планировщик задач, то там самое частое запуск раз в сутки. ОС Windows XP.

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Можно написать простой скрипт для подсчета числа файлов в каждой вложенной папке, для задержек использовать, например, скрипт во вложении и запускать их через Bat-файл.
То есть опять же этот BAT-файл должно что-то запускать. Я не знаю что.

Нугуглил вот этот форум: http://forum.antichat.ru/showthread.php?t=241939

Там человек предлагает добавить следующий код, что бы установить таймер:
Код:
set time=%TIME%
set hour=%time:~0,2%
set min=%time:~3,2%
set /a min=min+2
set time=%hour%:%min%
at %time% "путь к бат файлу"
Я пробовал добавлять это:
Код:
@echo off
chcp 1251 > nul
for /f %%i in ('dir C:\Обмен /s /b /a') do (set /a num+=1)
echo %num% files
set time=%TIME%
set hour=%time:~0,2%
set min=%time:~3,2%
set /a min=min+2
set time=%hour%:%min%
at %time% "C:\Обмен"
pause
Но толку никакого.
Изображения
Тип файла: jpg find.jpg (15.7 Кб, 133 просмотров)

Последний раз редактировалось Stilet; 06.08.2013 в 08:09.
so1idsnake вне форума Ответить с цитированием
Старый 06.08.2013, 08:46   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Если я попытаюсь поставить BAT файл в планировщик задач, то там самое частое запуск раз в сутки. ОС Windows XP.
поставьте маленькую бесплатную программку nnCron


FYI:
так, просто для вашего сведения,
Вы не пробовали искать нужную Вам программу в интернете?

например, посмотрите:

sharewatch10_x86.zip sharewatch10_x86

ShareWatch
Версия:
Дата отправки: 23/03/2004
Описание:

ShareWatch позволяет увидить, кто законнектился на Ваш компутер и какие
файлы использует. Теперь у Вас будет полное представление, почему диск
пашет, когда Вы ничего не делаете, и если действительно кто-либо
подключён к Вам, Вы сможете моментально его отрубить. Есть много
интересных функций. Программа может стать удобным помощником.

Completed: 23.03.2004 9:31:49
Url: http://stevemiller.net/downloads/sharewatch10_x86.zip
File size: 33285

----------------
Net Share Monitor is the free software to Monitor your Shared Files from unknown users in the network.
http://securityxploded.com/netsharemonitor.php

----------------

Это так, навскидку...

Последний раз редактировалось Serge_Bliznykov; 06.08.2013 в 08:48.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2013, 11:18   #14
so1idsnake
Пользователь
 
Регистрация: 05.08.2013
Сообщений: 16
По умолчанию

Программа не пойдет. Я поискал в инете, и нашёл сайт: http://www.rusedu.info/index.php?mod...atid=&topic=22

Но почему-то у меня ни одна прога не работает с того сайта. Например взял код для Получение количества файлов папки с помощью FSO

Код:
Function ListFiles(ByVal Path As String, Optional ByVal NestedDirs As Boolean) As String()
Dim fso As New Scripting.FileSystemObject
Dim fld As Scripting.Folder
Dim fileList As String
Set fld = fso.GetFolder(Path)
fileList = ListFilesPriv(fld, NestedDirs)
ListFiles = Split(fileList, ";")
End Function

Function ListFilesPriv(ByVal fld As Scripting.Folder, ByVal NestedDirs As Boolean) As String
Dim fil As Scripting.File
Dim subfld As Scripting.Folder
For Each fil In fld.Files
ListFilesPriv = ListFilesPriv & ";" & fil.Path
Next
If NestedDirs Then
For Each subfld In fld.SubFolders
ListFilesPriv = ListFilesPriv & ListFilesPriv(subfld, NestedDirs)
Next
End If
End Function

Private Sub Form_Load()
MsgBox UBound(ListFiles("E:\basic\to_vbnet"))
End
End Sub
Вставил его в текстовый файл и поменял расширение на vbs. Запускаю и ошибка, которую вы видите на крине.
Дело в том, что я не имел дело в VB не разу. Я не создавал форму. Я так понимаю без неё никак? И код не переделать, что бы он работал без формы?
Изображения
Тип файла: jpg host.jpg (10.1 Кб, 62 просмотров)

Последний раз редактировалось so1idsnake; 06.08.2013 в 11:38.
so1idsnake вне форума Ответить с цитированием
Старый 06.08.2013, 11:33   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

насколько я понимаю, это код не VBS, а VB (Visual Basic)

и, насколько я вижу из названия:
Цитата:
Код:
Private Sub Form_Load()
данный код выполняется при загрузке формы...
Вы форму создали? Данный обработчик в коде формы разместили?


Цитата:
Программа не пойдет.
исключительно из любопытства интересуюсь: а почему не пойдёт?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2013, 12:04   #16
so1idsnake
Пользователь
 
Регистрация: 05.08.2013
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
насколько я понимаю, это код не VBS, а VB (Visual Basic)
Мне нужно поменять расширение VBS на VB? А как тогда запускать файл?

исключительно из любопытства интересуюсь: а почему не пойдёт?[/QUOTE]
Я не хочу сдаваться

Нашёл ещё один сайт: http://compfaq.ru/Question.aspx?id=6...a-5cc51b1fdcb4

Код:
Dim i As Integer
Dim sFile As String
sFile = Dir("c:\myFolder\*.*")
Do Until Len(sFile) = 0
  i = i + 1
  sFile = Dir
Loop
MsgBox "Файлов - " & i
Код:
Dim FSO As FileSystemObject
Dim f As Folder

Set FSO = New FileSystemObject
Set f = FSO.GetFolder("c:\myFolder")

MsgBox "Файлов - " & f.Files.Count
Тут что не так? Ошибки появляются тоже. Это не VBS тоже? Если да, то что мне делать?
so1idsnake вне форума Ответить с цитированием
Старый 06.08.2013, 13:04   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Тут что не так? Ошибки появляются тоже. Это не VBS тоже?
а вы заголовки принципиально игнорируете?
там же большими буквами написано:
FAQ / Программирование / Visual Basic
теперь видите, о каком языке программирования идёт речь?

Цитата:
Если да, то что мне делать?
ну, если Вам нужны программы на VB, то нужно скачать и установить Visual Basic (например, версии 6))
либо искать программы на VBS...

вот Вам пример вашего скрипта на VBS
Код:
Dim FSO, f 

Set FSO = CreateObject("Scripting.FileSystemObject")

Set f = FSO.GetFolder("c:\myFolder")

MsgBox "Count Files - " & f.Files.Count
только учтите, что он считает только файлы в указанной папке. Подпапки в данном скрипте не обрабатываются...


а во вложении скрипт, который папки обрабатывает рекурсивно, подсчитывая общее количество файлов: countf_subfolder.rar

текст скрипта:
Код:
Dim fso
n=0

Set fso = CreateObject("Scripting.FileSystemObject")

Sub ListFolder(curDir)
  n = n + fso.GetFolder(curDir).Files.Count
  For Each s1 in fso.GetFolder(curDir).SubFolders
    If Not s1.attributes=22 Then 
       ListFolder(s1.path)
    End If
  Next
End Sub

ListFolder("C:\myfolder\") ' "C:\myfolder" - изначальная папка, в которой идёт поиск

MsgBox "Общее количество файлов: " & n

Последний раз редактировалось Serge_Bliznykov; 06.08.2013 в 13:26.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2013, 13:53   #18
so1idsnake
Пользователь
 
Регистрация: 05.08.2013
Сообщений: 16
По умолчанию

Serge_Bliznykov, спасибо, работает! Даже не знаю как отблагодарить!!! С нуля писал?
Не мог бы ты ещё прокоментить строки хоть чуть-чуть. А то не понятно что за цифра 22 и что такое If Not s1.attributes=22 Then

Последний раз редактировалось so1idsnake; 07.08.2013 в 09:47.
so1idsnake вне форума Ответить с цитированием
Старый 07.08.2013, 21:33   #19
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Прошу простить за влезание, неудержался

Не игнорируйте рекомендованные книжки.

В приведенном скрипте использована подпрограмма с рекурсией.

Код:
Dim fso
n=0

Set fso = CreateObject("Scripting.FileSystemObject")

Sub ListFolder(curDir)               ' Вход в процедуру
  n = n + fso.GetFolder(curDir).Files.Count  ' Подсчет числа файлов в каталоге, имя которого передано в процедуру - curDir
  For Each s1 in fso.GetFolder(curDir).SubFolders ' Цикл, в котором просматриваются все каталоги, обнаруженные в данном каталоге
    If Not s1.attributes=22 Then ' Проверяется, что данный каталог не системный
       ListFolder(s1.path)           ' Повторный вызов этой же процедуры
    End If
  Next
End Sub

Таким образом, процедура выполняет следующую работу:
1. Получает список всех файлов данного каталога и их кол-во суммирует в переменной n;
2. Составляет список всех подкаталогов данного каталога
3. Если список не пуст, то, если каталог не является системным, то прейти к п.1.
4. Иначе завершить работу подпрограммы и перейти на уровень (стека) выше (вернуться в точку вызова).
Т.е. (см. п.3) вновь подсчитывается число файлов и составляется список каталогов.
Так процесс продолжается до тех пор, пока все вложенные каталоги данного каталога не будут просмотрены.
Для понимания картины нарисуйте дерево каталогов и пройдитесь по нему в соотвтетствии со строками подпрограммы ...



Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 07.08.2013, 22:36   #20
Icabod
Новичок
Джуниор
 
Регистрация: 07.08.2013
Сообщений: 18
По умолчанию

Цитата:
Private Sub Form_Load()
Это бейсик, для него среда нужна, называется Вижуал бейсик. А в vbs не получится этот вставить. немного просто доработать и запашет.
если хотите быть в безопасности, поставьте патч на дыру в жопе!
Icabod вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество файлов в папке.(Delphi) werder_ua Общие вопросы Delphi 2 19.12.2011 13:33
Взять инфо со всех файлов находящихся в папке sasha_prof Microsoft Office Excel 1 15.03.2010 10:47
Узнать количество *.txt файлов в папке Tomazo Общие вопросы Delphi 3 12.11.2009 20:58
Вывести имена файлов, находящихся в папке NSvirus PHP 2 14.10.2009 00:05
Отслеживает появление в папке файлов. слежение за определенным файлом в определенной папке. RammFan Win Api 1 09.06.2007 11:09