|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Скрип Папки старше * дней Архивировать |
|
|
VBS/WSH/JS - Скрип Папки старше * дней Архивировать
|
Новый участник Сообщения: 8 |
Привет всем
Я новичок и в скриптах тоже Дали задание в папке "C:\1" есть 3 и более папок с файлами Нужно Если папка старше 30 дней ЕЕ необходимо поместить в рар архив Мощно юзаю гугл Но пока результатов мало Помогите !!! |
|
Отправлено: 07:40, 08-02-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Option Explicit Dim strFolder Dim objFSO Dim objWshShell Dim objSubFolder strFolder = "C:\1" Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objWshShell = WScript.CreateObject("WScript.Shell") If objFSO.FolderExists(strFolder) Then For Each objSubFolder In objFSO.GetFolder(strFolder).SubFolders If DateDiff("d", objSubFolder.DateLastModified, Now()) > 30 Then WScript.Echo objSubFolder.Path objWshShell.Run """%ProgramFiles%\WinRAR\WinRAR.exe"" a ""c:\Archive.rar"" " & objSubFolder.Path, 1, True End If Next Else WScript.Echo "Folder [" & strFolder & "] not found." End If Set objWshShell = Nothing Set objFSO = Nothing WScript.Quit 0 |
Отправлено: 08:22, 08-02-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Супер большое спасибо
Но я сделал вот так ' Исходные данные ' ------------------------------------------------------------------------ DirRab = "c:\1\" DirArc = "c:\1\" NDaysDele = 30 Arc = """C:\Program Files (x86)\WinRAR\winrar.exe""" ' У меня винда 7 и здесь лежит архиватор !!! ' ------------------------------------------------------------------------ MDate = CStr(DateAdd("d",-NDaysDele,Date)) Set WS = CreateObject("WScript.Shell") DateArc=Mid(MDate,7,4)+Mid(MDate,4,2)+Mid(MDate,1,2) R = WS.Run(Arc+" a -r -df -tb"+DateArc+"0001 """+DirArc+DateArc+""" """+DirRab+"*.*""", 1, True) Мне нужно разжувать последнии команды Плиз скажите что они озночают MDate = CStr(DateAdd("d",-NDaysDele,Date)) - Данная команда сравнивает все файли с текушей даты компа ))) ???? DateArc=Mid(MDate,7,4)+Mid(MDate,4,2)+Mid(MDate,1,2) - здесь кажется задается переменная для рассчета количества дней файла Или же здесь задается формула высчета количество дней файлов ???? Из курса скрипта R = WS.Run(Arc+" a -r -df -tb"+DateArc+"0001 """+DirArc+DateArc+""" """+DirRab+"*.*""", 1, True) - данная команда уже использует рар команды "a" "r" "df" я понял -tb - Зачем вот это команда Я же указал диапозон ?? NDaysDele = 30 Что это значит "+DateArc+"0001 """+DirArc+DateArc+""" """+DirRab+"*.*""", 1, True Я правильно понимаю ??? +DateArc+"0001 данная команда ссылается на DateArc=Mid(MDate,7,4)+Mid(MDate,4,2)+Mid(MDate,1,2) +DirArc+DateArc+ Он создает архив с датой создания файла виновника Я хочу сделать чтобы создовался рар архив с произвольным именем ??? как сделать ?? +DirRab+"*.* здесь прописан путь от куда архивировать и задан диапозон файлов ??? |
Отправлено: 09:02, 08-02-2013 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Z 666 VAD:
Цитата Z 666 VAD:
P.S. Используйте тэг [code] для оформления кода на форуме. В мешанине из текста и кода с «+» и «-» понять что-то сложно. |
||
Отправлено: 16:24, 08-02-2013 | #4 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Теперь у меня другое задание
Все сделать тоже самое только на WIN 2008 enterprise server с использованием родного архиватора Гугл уже не помогает (((((( |
|
Отправлено: 14:11, 11-02-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Z 666 VAD, какой архиватор подразумевается под «родным»?
|
Отправлено: 16:36, 11-02-2013 | #6 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать встроенный архиватор ZIP
|
Отправлено: 17:22, 11-02-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Z 666 VAD, тут Google не поможет. Встроенный архиватор, как Вы его зовёте, не работает с архивами *.rar.
|
Отправлено: 14:55, 12-02-2013 | #8 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Да я понял что мой скрипт не подойдет из за команд ВинРара
Теперь ишу скрипт который отработает с родным архиватором написать я его никак не смогу нужна помошь Да я понял Потому что в моем батнике используется команды ВинРара Теперь нужно написать скрипт который использует встроенный архиватор 2008 винды Нужна помощь Как это можно реализовать Где найти хотя бы похожий скрипт |
Отправлено: 14:59, 12-02-2013 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Z 666 VAD, вот этот скрипт: WSH: архивация файлов средствами операционной системы (WinXP) — Windows Script Host, HTA (VBScript, JScript) — Серый форум.
Попробуйте так: |
Отправлено: 16:18, 12-02-2013 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней | ksv_sergo | Скриптовые языки администрирования Windows | 14 | 24-03-2016 15:02 | |
Любой язык - [решено] Удаление файлов старше N дней | DOCznet | Скриптовые языки администрирования Windows | 2 | 27-09-2012 11:42 | |
CMD/BAT - если дата в логе старше 7 дней отписать новую | mouserok | Скриптовые языки администрирования Windows | 5 | 13-10-2011 15:35 | |
[решено] Автоочистка файлов, старше 5 дней. | Universal_gr | Программное обеспечение Linux и FreeBSD | 1 | 01-10-2010 01:12 | |
Прочее - удаление файлов старше 10 дней | admin666 | Общий по Linux | 1 | 23-07-2009 19:09 |
|