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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

   

alur2005



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите каким способом можно экспортировать значения реестра в reg файл  
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductId"

Всего записей: 824 | Зарегистр. 06-09-2005 | Отправлено: 15:52 07-05-2009
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ANTRAMABANAKAN 15:35 07-05-2009
Цитата:
Есть ли возможность проверять дату файла перед копированием

 

Код:
sFile = "File.exe"
 
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.GetFile(sFile)
 
sInfo = _
    "Информация для файла <" & sFile & ">" & vbCRLF & vbCRLF & _
    "Файл создан:        " & oFile.DateCreated & vbCRLF & _
    "Файл был изменен:    " & oFile.DateLastModified & vbCRLF & _
    "Файл был открыт:        " & oFile.DateLastAccessed & vbCRLF
 
 
MsgBox sInfo, 64, "File Info"

 
 
 
Добавлено:
alur2005 15:52 07-05-2009
Цитата:
каким способом можно экспортировать значения реестра в reg файл  

Через консольную утилиту reg:
 
 

Код:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "REG EXPORT ""HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"" CurrentVersion.reg", 0, True

 
А если значение только одного ключа, то проще записать сразу в файл (получить значение через WshShell.RegRead):
 

Код:
RegKeyExport "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductId", ".\ProductId.reg"
 
Function RegKeyExport(sRegPath, sRegKey, sRegFile)
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    
    sRegKeyValue = WshShell.RegRead(sRegPath & "\" & sRegKey)
    
    sRegContent = _
        "Windows Registry Editor Version 5.00" & vbCRLF & vbCRLF & _
        "[" & sRegPath & "]" & vbCRLF & _
        """" & sRegKey & """=""" & Replace(sRegKeyValue, "\", "\\") & """"
    
    If Not oFSO.FileExists(sRegFile) Then
        Set oTextStream = oFSO.CreateTextFile(sRegFile)
    Else
        Set oFile = oFSO.GetFile(sRegFile)
        Set oTextStream = oFile.OpenAsTextStream(2)
    End If
    
    oTextStream.Write(sRegContent)
    oTextStream.Close
End Function



----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:45 07-05-2009 | Исправлено: ViSiToR, 23:09 07-05-2009
alur2005



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR
 
чего то скрипт не пашет ошибку дает RegKeyExport недопустимое число аргументов

Всего записей: 824 | Зарегистр. 06-09-2005 | Отправлено: 17:34 07-05-2009
Taran2ul



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую вас форумчане.
Подскажите как реализовать скрипт.
Есть папка на 2 компах
С:\Program Files\папка\
и
D:\Program Files\папка\
Нужно содержимое этой папок с подпапками скопировать в папку со скриптом.
И чтобы скрипт имел относительный путь.
Пробовал %ProgramFiles% но результата не получил.

Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 17:48 07-05-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alur2005

Цитата:
чего то скрипт не пашет ошибку дает RegKeyExport недопустимое число аргументов  

Перепиши первую строчку

Код:
RegKeyExport "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductId", ".\ProductId.reg"

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 17:52 07-05-2009
alur2005



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
ViSiToR
 
спасибо выручили
 
а если значение REG_BINARY нужно из реестра считать , что в скрипте нужно подправить ???

Всего записей: 824 | Зарегистр. 06-09-2005 | Отправлено: 17:57 07-05-2009 | Исправлено: alur2005, 20:40 07-05-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Taran2ul

Код:
set wshshell = createobject("wscript.shell")
progfiles = wshshell.expandenvironmentstrings("%ProgramFiles%")
set fso = createobject("scripting.filesystemobject")
fso.copyfolder progfiles & "\папка", fso.getfile(wscript.scriptfullname).parentfolder

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 18:13 07-05-2009
alur2005



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

Всего записей: 824 | Зарегистр. 06-09-2005 | Отправлено: 20:34 07-05-2009 | Исправлено: alur2005, 20:37 07-05-2009
Taran2ul



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
Спасибо. Работает.
А еще такой вопрос как в этом коде указать целевую папку (на будущее)

Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 01:22 08-05-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Taran2ul

Цитата:
А еще такой вопрос как в этом коде указать целевую папку (на будущее)


Код:
fso.copyfolder "исходная папка", "целевая папка"  
 
Поскольку fso.getfile(wscript.scriptfullname).parentfolder и есть целевая папка.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 02:50 08-05-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alur2005

Цитата:
а если значение REG_BINARY нужно из реестра считать , что в скрипте нужно подправить ???

Ну тут довольно значительно надо доделывать.
Синим выделено новое, красным исправленное.
В принципе, можно сделать универсальный по типам данных скрипт. Только не очень охота шевелиться.

Код:
RegKeyExport "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId", ".\ProductId.reg"  
 
Function RegKeyExport(sRegPath, sRegKey, sRegFile)  
    Set WshShell = WScript.CreateObject("WScript.Shell")  
    Set oFSO = CreateObject("Scripting.FileSystemObject")  
     
    sRegKeyValue = WshShell.RegRead(sRegPath & "\" & sRegKey)  
     
    sRegContent = _  
        "Windows Registry Editor Version 5.00" & vbCRLF & vbCRLF & _  
        "[" & sRegPath & "]" & vbCRLF & _  
        """" & sRegKey & """=" & BinValueF(sRegKeyValue)
     
    If Not oFSO.FileExists(sRegFile) Then  
        Set oTextStream = oFSO.CreateTextFile(sRegFile)  
    Else  
        Set oFile = oFSO.GetFile(sRegFile)  
        Set oTextStream = oFile.OpenAsTextStream(2)  
    End If  
     
    oTextStream.Write(sRegContent)  
    oTextStream.Close  
End Function
 
function BinValueF(binvalue)
   ubvalue = ubound(binvalue)
   for i = lbound(binvalue) to ubvalue
      binval = hex(binvalue(i))
      if len(binval) < 2 then binval = "0" & binval
      line = (i+1) mod 20
      if i <> ubvalue then
         if line = 0 then
            strval = strval & "\" & vbcrlf & space(2) & binval & ","
         else
            strval = strval & binval & ","
         end if
      else
         strval = strval & binval
      end if
   next
   BinValueF = "hex:" & strval
end function
 
 
Добавлено:
Да, забыл добавить - надо писать HKEY_LOCAL_MACHINE (сокращения типа HKLM в регфайле не работают)

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 05:47 08-05-2009 | Исправлено: Rush, 06:13 08-05-2009
alur2005



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

Всего записей: 824 | Зарегистр. 06-09-2005 | Отправлено: 06:42 08-05-2009
AntoshAReal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
 
Подскажите, пожалуйста, имеется скрипт на VBS, вроде работает как надо, но надо реализовать пару функций:
 
1.
const Nname = "sInsp & "_" & sInspTo & "_BDK_" & sDate & "_" & sTime & "_" & sEtap & "_" & sVer & "_" & sINN"
 
как можно это осуществить, т.к. пишет что ошибка в символах.
 
2.
Set oRequest = oDataBase.ExecuteWithResults("select dbo.GetSafeVer()")
sVer = Trim(oRequest.GetColumnString(1, 1))
 
из SQL таблицы берутся значения вида: 2.2.4.600
необходимо что бы бралось только 600

Всего записей: 305 | Зарегистр. 31-08-2005 | Отправлено: 13:32 08-05-2009
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AntoshAReal
1.
 

Код:
Const Nname = sInsp & "_" & sInspTo & "_BDK_" & sDate & "_" & sTime & "_" & sEtap & "_" & sVer & "_" & sINN

 
Кавычки в начале и в конце лишние.
 
2.
 

Код:
sVer = "2.2.4.600"
sVer = Mid(sVer, InStrRev(sVer, ".", -1)+1)


----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:32 08-05-2009
AntoshAReal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1.
А без кавычек скрипт возникает на последний символ коца строки.
Похоже выразился неправильно
 
Вот в каком контексте это используется:

Код:
 
if sRemote then
'переместить готовый архив в текущую папку (!help!)
 
   strBat = "move " & sPathNet & sArjFile & " " & Nname &
   objFile.Write(strBat)
   objFile.WriteBlankLines 1
else
 

 
 
2.
Спасибо, попробую.

Всего записей: 305 | Зарегистр. 31-08-2005 | Отправлено: 16:30 08-05-2009 | Исправлено: AntoshAReal, 16:31 08-05-2009
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AntoshAReal 16:30 08-05-2009
Цитата:
скрипт возникает на последний символ коца строки

А зачем он там нужен?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:15 08-05-2009
AntoshAReal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
вот что он пишет, ссылаясь на конец строки:

Код:
 
const Nname = sInsp & "_" & sInspTo & "_BDK_" & sDate & "_" & sTime & "_" & sEtap & "_" & sVer & "_" & sINN
 

Всего записей: 305 | Зарегистр. 31-08-2005 | Отправлено: 18:06 08-05-2009 | Исправлено: AntoshAReal, 18:07 08-05-2009
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AntoshAReal 18:06 08-05-2009
Цитата:
вот что он пишет, ссылаясь на конец строки

Ну ссылается оно тут не на конец строки, а на ошибку в построени константы, видимо ей нужно только литеральное (прямое) значение, без переменных и соединяющих элементов.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:20 08-05-2009
AntoshAReal



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

Всего записей: 305 | Зарегистр. 31-08-2005 | Отправлено: 19:37 08-05-2009
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AntoshAReal 19:37 08-05-2009
Цитата:
я эту переменную Nname просто не определил

Const не определяет (не объявляет?) переменную, оно задаёт постоянную/константу.
 
Для объявления переменной используется Dim:
 

Код:
Dim Nname
Nname = sInsp & "_" & sInspTo & "_BDK_" & sDate & "_" & sTime & "_" & sEtap & "_" & sVer & "_" & sINN


----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:46 08-05-2009
   

Страницы: 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