Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите\покажите...
 
>Есть папка (Folder) в которую, в течении всего дня сваливается почта.
>Надо сделать так, что бы раз в 30сек, Folder проверялась на наличие новой почты и выходило сообщение с названиями свежей корреспонденции.
 
-Отчего отсчитывать эти 30сек не понимаю.
-Пытался от DateCreated, но там формат дата-время, если бы просто дата, то я бы сделал, но тут...
-Может не от DateCreated надо отталкиваться?
 
-Подскажите, покажите, что надобно сделать.

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 14:39 23-12-2010 | Исправлено: quakerock, 14:44 23-12-2010
magiogre



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri
опять на копирование ругается, если есть read only файл(ы)
 

Код:
Option Explicit
 
Dim net, fso, SourceFolder, DestinationFolder, pFile, pFolder
 
 
Set net = CreateObject("Wscript.Network")
net.MapNetworkDrive "L:","\\192.168.1.120\backup-win", "true", "user", "password"
 
SourceFolder = "D:\Test\Folder"
DestinationFolder = "L:\Test\Folder"
 
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set pFolder = fso.GetFolder(DestinationFolder)
 
 
Sub RemoveHSR(ByVal forFolder)
         
    If forFolder.Files.Count > 0 Then
        For Each pFile In forFolder.Files
            pFile.Attributes = pFile.Attributes And &HFFF8
        Next
    End If
     
    If forFolder.SubFolders.Count > 0 Then
        For Each pFolder In forFolder.SubFolders
            pFolder.Attributes = pFolder.Attributes And &HFFF8
            RemoveHSR pFolder
        Next
    End If
End Sub
 
 
fso.CopyFolder SourceFolder, DestinationFolder, True  
 
net.RemoveNetworkDrive "L:","true", "true"  

Всего записей: 104 | Зарегистр. 26-01-2009 | Отправлено: 14:51 23-12-2010 | Исправлено: magiogre, 14:56 23-12-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
magiogre
дядь, а предварительную проверку замутить на "редонли" файлы с последующим их XOR'ом на архивный не судьба?

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 16:48 23-12-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG

Цитата:
не судьба

Я конечно понимаю, что magiogre начинающий, но вставить только код процедуры без её вызова на выполнение... Как то даже...

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 02:43 24-12-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abz
погуглил - у многих этот спящий режим вообще не работает на хп.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:03 24-12-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri
что к чему? я, например, имел в виду, что можно снять атрибут "только для чтения", скажем, так:

Код:
Const ReadOnly = 1
strFolder = WScript.Arguments.Item(0)
 
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
 
For Each objFile In colFiles
   If objFile.Attributes AND ReadOnly Then
      objFile.Attributes = objFile.Attributes XOR ReadOnly
   End If
Next

в консоли набить:

Код:
cscript //nologo имя_скрипта.vbs c:\папка

ну а ежели надо с жестко прописанными параметрами, то тут чуть ретуши и все заработает как надо.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 16:39 24-12-2010
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
destF = "C:\Progra~1"
set fso = CreateObject("Scripting.FileSystemObject")
set folder = fso.GetFolder(destF)
MsgBox "DateCreated: " & folder.DateCreated -1  

 
Узнаем дату-время создания каталога за минусом одного дня.
 
Вопрос: можно манипулировать не только днем, но и месяцем, годом, часом, минутами, секундами?

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 11:12 27-12-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кому нибудь удалось комп в ждущий режим перевести? я один раз самый первый вроде как перевел, теепрь все не хочет, начинает переходит и выключается. где он живет этот ждущий режим?  
спящий у меня отключен.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:20 27-12-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
quakerock
Можно
DateSerial(year, month, day)
TimeSerial(hour, minute, second)

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 11:21 27-12-2010
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri
 
-Можешь прикрутить к моему коду TimeSerial что бы на выходе изменялось время создания -папки?
 

Код:
destF = "C:\Progra~1"
set fso = CreateObject("Scripting.FileSystemObject")
set folder = fso.GetFolder(destF)
MsgBox "DateCreated: " & folder.DateCreated -1  

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 09:00 30-12-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
quakerock

Код:
 
'...
MsgBox "DateCreated: " & FormatDateTime(folder.DateCreated, 2) & " " & FormatDateTime(TimeSerial(23, 59, 59), 3)
''';) с наступающим
 

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 09:33 30-12-2010
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri
 
Спасибо
 
Всех с наступающим!!!

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 10:41 30-12-2010
Evgeny972



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа
А кто подскажет, как сделать рефреш всех открытых окон (включая рабочий стол)?

Всего записей: 15511 | Зарегистр. 23-08-2002 | Отправлено: 15:18 10-01-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Evgeny972
не уверен, что возможно такое впринципе, чтобы рефрешануть все открытые окна, включая рабочий стол.
 
Господа, кто-нибудь пытался реализовывать UNIX тулзы посредством VBScript'а? если да, то можете привести пример хотя бы, скажем, аналога tail, - интересно посмотреть.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 17:55 10-01-2011
Evgeny972



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
Вернее, скажем так - окна Windows Explorerа. Если ты меняешь статус отображения расширений/скрытых файлов, изменения отображаются во всех окнах WE, после нажатия применить/ОК. Если же я меняю значения ключей реестра через VBS, то фиг вам, пока не нажмёшь рефреш. Внутри одного окна это просто, послал F5. А вот как изделать для всех - вот в чём загогулина.

Всего записей: 15511 | Зарегистр. 23-08-2002 | Отправлено: 18:26 10-01-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Evgeny972
если правильно понимаю, то у тебя без рефреша не отображаются скрытые файлы, с которых был снят данный атрибут, так? если да, то каким образом ты меняешь их атрибуты через реестр, когда в комспеке есть команда attrib?
Код:
attrib -h [path]files
на счет рефреша что-то не припомню команды вроде WindowState.Refresh в VBScript'ах, а ведь по сути тебе нужно что-то в этом духе, чтобы обновить состояние открытых окон проводника. в общем, пошукаю еще по сабжу.
 
Господа, я накидал скриптик tail и вот что у меня получилось:
Код:
On Error Resume Next
 
If WScript.Arguments.Count = 0 Then
   WScript.Echo "Синтаксис: cscript [//nologo] tail.vbs [число, файл]."
   WScript.Quit
End If
 
intLines = Int(WScript.Arguments.Item(0))
strFileName = WScript.Arguments.Item(1)
 
WScript.Echo Tail(intLines, strFileName)
 
Function Tail(intLines, strFileName)
   Dim strFile, objFile, arrFile, intCount
   
   Set objFSO = CreateObject("Scripting.FileSystemObject")
   Set objFile = objFSO.OpenTextFile(strFileName)
   
   strFile = objFile.ReadAll
   arrFile = Split(strFile, vbCrLf)
   
   For intCount = Ubound(arrFile) - (intLines - 1) To Ubound(arrFile)
       Tail = Tail & arrFile(intCount) & vbCrLf
   Next
End Function
если кого заинтересовала тема того,как можно реализовать прочие UNIX-тулзы на VBScript'е, подкиньте идей, пожалуйста.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 19:17 10-01-2011
Evgeny972



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
Дело в том, что нарисовал маленький скрипт для кнопки к Classic Shell
(http://forum.ru-board.com/topic.cgi?forum=5&topic=32717&start=80#9). Я не меняю атрибуты файлов, я меняю режим отображения в эксплорере.

Всего записей: 15511 | Зарегистр. 23-08-2002 | Отправлено: 19:40 10-01-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Evgeny972
похоже штатными средствами то, о чем ты просишь не сделать. по крайней мере на msdn'е по сабжу ничего нет. может попробовать заиметь секс с WinAPI лучше? там то стопудово все получится. правда WinAPI из скриптов VB я еще ни разу не дрюкал.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 20:15 10-01-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто подскажет, можно ли на скрипте сделать меню с пунктами типа галок и переключателя опций - выбор точкой?

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 21:09 10-01-2011
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft
неа  

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:19 10-01-2011 | Исправлено: bomzzz, 22:19 10-01-2011
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru