|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Скрипт очистки папки обмена |
|
VBS/WSH/JS - [решено] Скрипт очистки папки обмена
|
Ветеран Сообщения: 508 |
Профиль | Отправить PM | Цитировать Приветствую всех!
Есть папка "Exchange", которая доступна всем пользователям в сети, (расшарена через DFS) и служит для обмена документами между пользователями. Каждый день ее надо очищать (не удалять). Права на нее стоят права для всех (кроме админа, у которого полный доступ) - Чтение/выполнение/запись. Помогите написать скрипт на очистку этой папки. PS Напоролся на ресурс в Инете - http://habrahabr.ru/blogs/i_am_clever/20443/ (Авто-очистка папки обмена) только не могу настроить под себя. Надо чтобы папка, которая лежит "O:\Public Folder\Exchange" очищалась. Что касается перемещения удаленных файлов в подкаталог _deletion_queue_, то можно оставить. Прошу помочь! Заранее благодарю! |
|
------- Отправлено: 07:17, 06-02-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата stolyar:
On Error Resume Next strFldr = "O:\Public Folder\Exchange" Set objFSO = CreateObject("Scripting.FileSystemObject") ClearFolder strFldr Function ClearFolder(sFldr) On Error Resume Next Dim oD, cF, cD, oI Set oD = objFSO.GetFolder(sFldr) Set cF = oD.Files Set cD = oD.SubFolders For Each oI In cF oI.Attributes = 0 oI.Delete Next For Each oI In cD ClearFolder oI.Path oI.Attributes = 0 oI.Delete Next End Function |
|
Отправлено: 07:47, 06-02-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать СеньQ! То, что надо!!
|
------- Отправлено: 06:26, 07-02-2010 | #3 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать amel27, а можно ли сделать исключение?
В этой папке находится еще одна папка "price", которую удалять нельзя! Можно ли, чтобы скрипт чистил все, но ее оставлял? |
------- Отправлено: 16:54, 08-02-2010 | #4 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать У меня сделать не получилось. Как альтернативу я сделал копирование папки в другой католог, очистка exchange, а потом копирование price снова в этот же каталог....
Может быть можно сделать исключение? |
|
------- Отправлено: 14:52, 09-02-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата stolyar:
|
|
Отправлено: 16:53, 09-02-2010 | #6 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать stolyar, у меня на работе похожая ситуация, только папка зовется TMP и чистим ее раз в месяц (я шутки ради выставил 13е число ), но тутже возникла проблема - поднялся жуткий хай на тему удаленных наиважнейших данных. Пришлось создавать папку "2beDeleted", куда все для начала переносилось на месяц до следующей зачистки. Единственное - у нас это делается не скриптом, а один бывший сотрудник быстренько накатал софтину. Поскольку аффтар не я, то поделиться не имею права, но сразу могу сказать - вопрос типа Вашего здесь промелькал - надо всего лишь поискать (правда у меня самого с поиском не очень)
|
------- Отправлено: 18:49, 09-02-2010 | #7 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать Цитата amel27:
|
|
------- Отправлено: 15:04, 10-02-2010 | #8 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать Тема! Так проще, действительно....
Всем большое спасибо за помощь! Топик офф. |
------- Отправлено: 10:10, 11-02-2010 | #9 |
Пользователь Сообщения: 72
|
Профиль | Сайт | Отправить PM | Цитировать Скрипт из темы http://forum.oszone.net/thread-146190-3.html
'==== Script Information Header ==== 'script name: Purge Temp 'version: 1.0 'date: 16.07.08 'autor: Bochkarev Vitaly 'description: Скрипт удаляет устаревшие временные файлы с компьютера. '==== Script Main Logic ==== on error resume next const PurgeTime = 14 'days 'Exceptions - folders, which will not be processed dim aExceptions(3) aExceptions(0) = "Default User" aExceptions(1) = "LocalService" aExceptions(2) = "NetworkService" aExceptions(3) = "All Users" set oFSO = CreateObject("Scripting.Filesystemobject") set oShell = createobject("wscript.shell") 'Set paths sProgramFiles = oShell.ExpandEnvironmentStrings("%ProgramFiles%") sWinDir = oShell.ExpandEnvironmentStrings("%WinDir%") sWinTempFolder = sWinDir & "\Temp" sDocuments = "C:\Documents and Settings" 'Create log-file sLogFileName = sWinTempFolder & "\PurgeTemp_" & Date sLogFileName = Replace(sLogFileName, ".", "_") sLogFileName = Replace(sLogFileName, "/", "_") set oLogFile = oFSO.CreateTextFile(sLogFileName & ".log",true) oLogFile.WriteLine "========== Start purging ==========" 'Purge Windows Temporary folder oLogFile.WriteLine vbCrLf & "========== Windows Temporary folder ==========" PurgeFolder(sWinTempFolder) 'Purge Users Temporary folder and Users Temporary Internet Files oLogFile.WriteLine vbCrLf & "========== Users Temporary folder and Users Temporary Internet Files ==========" set oDocuments = oFSO.GetFolder(sDocuments) set colProfiles = oDocuments.SubFolders for each oProfile in colProfiles bFlag = false for each sException in aExceptions if InStr(oProfile.Path,sException) > 0 then bFlag = true exit for end if next if bFlag = false then PurgeFolder(oProfile.Path & "\Local Settings\Temp") PurgeFolder(oProfile.Path & "\Local Settings\Temporary Internet Files") end if next 'Purge NOD32 Quarantine oLogFile.WriteLine vbCrLf & "========== NOD32 Quarantine ==========" sQuarantine = sProgramFiles & "\Eset\Infected" PurgeFolder(sQuarantine) 'Close log-file oLogFile.WriteLine vbCrLf & "========== Stop purging ==========" oLogFile.Close 'PurgeFolder procedure sub PurgeFolder(sFolderPath) set oFolder = oFSO.GetFolder(sFolderPath) set colFiles = oFolder.Files for each oFile in colFiles if (Date-oFile.DateLastModified) > PurgeTime and (Date-oFile.DateCreated) > PurgeTime then oLogFile.Writeline oFile.Path & vbTab & oFile.DateCreated oFSO.DeleteFile oFile.Path, true if err.Number <> 0 then oLogFile.Writeline "-----> Error # " & CStr(Err.Number) & " " & Err.Description err.clear end if wscript.sleep 20 end if next set colSubFolders = oFolder.SubFolders for each oSubFolder in colSubFolders PurgeFolder(oSubFolder.Path) if oSubFolder.Size = 0 then oLogFile.Writeline oSubFolder.Path & vbTab & oSubFolder.DateCreated oFSO.DeleteFolder oSubFolder.path if err.Number <> 0 then oLogFile.Writeline "-----> Error # " & CStr(Err.Number) & " " & Err.Description err.clear end if end if next end sub |
------- Отправлено: 08:44, 15-02-2010 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Скрипт для удаления старых файлов и папок из определенной папки | avfiga | Скриптовые языки администрирования Windows | 71 | 07-01-2023 18:50 | |
V. 5.5/2000/2003 - [решено] Скрипт для чистки общей папки от устаревших сообщений | migunov | Microsoft Exchange Server | 2 | 21-11-2009 09:50 | |
Папка "Cleaned Files": значение, возможность очистки этой папки | Alexandr28 | Хочу все знать | 1 | 19-07-2007 20:05 | |
BAT-скрипт для очистки пакетов ForceWare International от "лишних" языков | ShaddyR | Программное обеспечение Windows | 6 | 08-02-2007 10:55 | |
Скрипт автоматической раздачи прав на папки | UnDetect | Microsoft Windows NT/2000/2003 | 2 | 13-02-2006 13:04 |
|