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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
a929151



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

Код:
'==========================================================================
'
' NAME: GetFileDetails.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL: http://www.thespidersparlor.com
' DATE  : 8/27/2007
' COPYRIGHT (c) 2007 All Rights Reserved
'
' COMMENT: Binds to a folder and then a file and lists extended file details.
'
'    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
'    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
'    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
'    PARTICULAR PURPOSE.
'
'    IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE SUPPLIERS  
'    BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
'    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
'    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
'    ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
'    OF THIS CODE OR INFORMATION.
'
'==========================================================================
 
' Just replace the parent folder and file information below.
getDetails = GetFileDetails("C:\Windows","explorer.exe")
 
 
 
 
Function GetFileDetails(folderName,fileName)
        On Error Resume Next
        Dim objShell
        Dim objFolder
        Dim HeaderInfoArray(34)
         
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.NameSpace(folderName)
 
        If (not objFolder is nothing) Then
            For i = 0 to 34    
                HeaderInfoArray(i) = objFolder.GetDetailsOf(objFolder.Items, i)
            Next
            Dim objFolderItem
 
            Set objFolderItem = objFolder.ParseName(fileName)
 
            If (not objFolderItem Is Nothing) then
                Dim objInfo
                For i = 0 To 34        
                    objInfo = objFolder.GetDetailsOf(objFolderItem, i)
                    WScript.Echo i,Space(3-Len(i)),HeaderInfoArray(i) & ":", _  
                    Space(16-Len(HeaderInfoArray(i))),objInfo
                Next
            End If
             
            Set objFolderItem = Nothing
        End If
         
        Set objFolder = Nothing
        Set objShell = Nothing
End Function

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 15:11 01-02-2017
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
Это ответ на мой вопрос?
Не выдает такое свойство файла, как Описание файла...

Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 17:08 01-02-2017
a929151



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

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 17:18 01-02-2017
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
Во, блин... Я смотрел под XP - там заканчивается на 33 свойстве. В 7 действительно доходит до 34... Спасибо.
Теперь бы укоротить, чтобы был минимальный скрипт и показывало только Описание файла...

Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 17:38 01-02-2017 | Исправлено: korosya, 17:38 01-02-2017
a929151



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

Код:
sFilename = "explorer.exe"
sFolderPathspec = "C:\Windows"
 
Set objShell = CreateObject ("Shell.Application")
Set objFolder = objShell.Namespace(sFolderPathspec)
 
File_description =  objFolder.GetDetailsOf(objFolder.Parsename(sFileName), 34)
wscript.echo File_description

 
Добавлено:
List of properties

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 17:48 01-02-2017
korosya

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
Огромное спасибо - то, что нужно!

Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 18:00 01-02-2017
gameall

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть код определения teamviwer id на локальном компьютере  

Код:
 
 
Dim RegTVClientID,RegTVVersion
Dim arrSubKeys(9,5)
 
 
 
arrSubKeys(0,0) = "TeamViewer 12"
arrSubKeys(0,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version12\ClientID"
arrSubKeys(0,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version12\Version"
arrSubKeys(1,0) = "TeamViewer 12"
arrSubKeys(1,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version12\ClientID"
arrSubKeys(1,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version12\Version"
 
arrSubKeys(2,0) = "TeamViewer 11"
arrSubKeys(2,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version11\ClientID"
arrSubKeys(3,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version11\Version"
arrSubKeys(3,0) = "TeamViewer 11"
arrSubKeys(3,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version11\ClientID"
arrSubKeys(3,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version11\Version"
 
arrSubKeys(4,0) = "TeamViewer 10"
arrSubKeys(4,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version10\ClientID"
arrSubKeys(4,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version10\Version"
arrSubKeys(5,0) = "TeamViewer 10"
arrSubKeys(5,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version10\ClientID"
arrSubKeys(5,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version10\Version"
 
arrSubKeys(6,0) = "TeamViewer 9"
arrSubKeys(6,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version9\ClientID"
arrSubKeys(6,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version9\Version"
arrSubKeys(7,0) = "TeamViewer 9"
arrSubKeys(7,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version9\ClientID"
arrSubKeys(7,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version9\Version"
 
arrSubKeys(8,0) = "TeamViewer 8"
arrSubKeys(8,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version8\ClientID"
arrSubKeys(8,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version8\Version"
arrSubKeys(9,0) = "TeamViewer 8"
arrSubKeys(9,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version8\ClientID"
arrSubKeys(9,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version8\Version"
 
arrSubKeys(10,0) = "TeamViewer 7"
arrSubKeys(10,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version7\ClientID"
arrSubKeys(10,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version7\Version"
arrSubKeys(11,0) = "TeamViewer 7"
arrSubKeys(11,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version7\ClientID"
arrSubKeys(11,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version7\Version"
 
arrSubKeys(12,0) = "TeamViewer 6"
arrSubKeys(12,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version6\ClientID"
arrSubKeys(12,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version6\Version"
arrSubKeys(13,0) = "TeamViewer 6"
arrSubKeys(13,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version6\ClientID"
arrSubKeys(13,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version6\Version"
 
arrSubKeys(14,0) = "TeamViewer 5"
arrSubKeys(14,1) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version5\ClientID"
arrSubKeys(14,2) = "HKEY_LOCAL_MACHINE\Software\TeamViewer\Version5\Version"
arrSubKeys(15,0) = "TeamViewer 5"
arrSubKeys(15,1) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version5\ClientID"
arrSubKeys(15,2) = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\TeamViewer\Version5\Version"
 
' pour chaque element du tableau
For x = LBound(arrSubKeys, 1) To UBound(arrSubKeys, 1)
    ' lecture des cles
    RegTVClientID = WshShell.RegRead( arrSubKeys(x,1) )
    RegTVVersion = WshShell.RegRead( arrSubKeys(x,2) )
    If Not IsNull(RegTVClientID) AND RegTVClientID <> "" Then
        'MsgBox RegTVClientID, vbInformation
        'MsgBox RegTVVersion, vbInformation
        ' Ecriture des donnees vers la sortie standard, qui sera le XML
        
         tf.WriteBlankLines(2)
         tf.Write "Teamviwer version: " & RegTVVersion & vbCrLf
         tf.Write "Teamviwer id:" & RegTVClientID & vbCrLf
 
        Exit For
    End If
 

 
Как сделать этот код применимым для другого компьютера?
чтобы можно было объявить strComputer
 

Код:
 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
 

 

Всего записей: 1 | Зарегистр. 25-11-2013 | Отправлено: 15:24 07-02-2017
Laserje18

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи, нужна помощь!
Нужен критерий по которому можно однозначно определить, переданный аргумент это файл или папка, или это файл без расширения.

Код:
Option Explicit
Dim FSO
Dim args
Dim ac
Dim element
Set FSO = CreateObject("Scripting.FileSystemObject")
Set args = WScript.Arguments
ac=args.Count
For Each element In args
  If Len(FSO.GetExtensionName(element)) = 0 Then MsgBox "Папка или файл без расширения"
  If Len(FSO.GetExtensionName(element)) > 0 Then MsgBox "Файл"
Next

Всего записей: 64 | Зарегистр. 11-09-2012 | Отправлено: 14:00 13-02-2017
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Laserje18 , смотрите
FSO.FileExists(File)
FSO.FolderExists(Folder)

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 14:22 13-02-2017
Laserje18

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

Всего записей: 64 | Зарегистр. 11-09-2012 | Отправлено: 14:47 13-02-2017
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется несколько скриптов:
AddCoverMKV.vbs
 
В AddCoverMKV.vbs есть проблема с кавычками в имени файла, помогите порешать.
 
RemoveCoverMKV.vbs
 
SetTitleMKV.vbs
 
и файл реестра к ним:
 
io.mpv.mkv-shell.reg
 
Файл реестра добавляет команды в контекстное меню проводника. Но привязка к аcсоциации файла плеера MPV, что не катит при смене ассоциаций, например на MPC-BE. Есть ли более универсальный способ, добавить нужные команды в контекстное меню, независимо от привязки к плеерам ?

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 14:55 28-02-2017 | Исправлено: iNNOKENTIY21, 16:08 28-02-2017
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21, напиши рабочую строку из dos при которой обложка добавляется.
а так вообще кавычка """"

Код:
MsgBox """"


Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 15:02 28-02-2017
iNNOKENTIY21



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

Цитата:
напиши рабочую строку из dos при которой обложка добавляется.  

это я не понял.
 
проблема с кавычками. это когда добавляю путь "F:\Users\User\Videos\Movies\Фантастические твари и где они обитают.jpg", то приходиться удалять кавычки, в скрипте это описано, в окне предупреждение есть, но достает, ибо в проводнике shift+ПКМ > Копировать как путь, копирует с кавычками А хочетсяя универсальности. что бы скрипт обрабатывал кавычки.

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 15:11 28-02-2017 | Исправлено: iNNOKENTIY21, 15:17 28-02-2017
a929151



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

Код:
attachment = InputBox("Полный путь, без кавычек", "Добавление обложки")  
attachment  = Replace(attachment , chr(34), "")

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 15:28 28-02-2017
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
спасибо, Replace Function до chr(34) тоже надо было еще догадаться
 
Добавлено:
Собственно изменённый скрипт:
 
AddCoverMKV.vbs
 
Второй вопрос бы порешать.

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 15:38 28-02-2017
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
второй вопрос тянет за собой кучу других вопросов.  
как вы собираетесь определять, к какому именно плееру привязывать дефолт?
да и на замену дефолтных значений пользователь может обидеться. вы уверены, что у него это не настроено на что-то другое?  
имхо лучше не менять умолчания, а добавлять новые записи. тогда они будут в меню, но не будут выделены и двойной клик не будет автоматом отправлять на них. НО! когда винда "заметит" новую ассоциацию - юзеру будет задан вопрос: не сделать ли её умолчательной.
так вы по-любому добавите свои пункты и не нарушите настройки юзера.

----------
Если ссылки в моих постах не работают - ищите здесь

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 16:10 28-02-2017
a929151



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

Код:
HKEY_CLASSES_ROOT\io.mpv.mkv
 
на

Код:
HKEY_CLASSES_ROOT\SystemFileAssociations\.mkv

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 16:37 28-02-2017
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
еще раз спасибо. всё работает. а ты как это: HKEY_CLASSES_ROOT\SystemFileAssociations нагуглил?
 
Proshaa
я тоже так думал, но подспудно думал, что должно просто решаться.
 
SystemFileAssociations.mkv-shell.reg

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 17:31 28-02-2017 | Исправлено: iNNOKENTIY21, 17:33 28-02-2017
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
не уверен, но кажется, должно быть так:
Код:
[HKEY_CLASSES_ROOT\SystemFileAssociations\.mkv]  
[HKEY_CLASSES_ROOT\SystemFileAssociations\.mkv\shell]  
на случай, если mkv вообще ни с чем не ассоциирован. случаи разные бывают ))

----------
Если ссылки в моих постах не работают - ищите здесь

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 18:52 28-02-2017
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
Хуже кажись не стало
 
наваял батники инсталятор и удалятор ещё, на свой страх и риск или я ни за чё не отвечаю MKVToolNix.MKV.Shell.Add-0.1A.7z
кому не лень, проверьте на хр особенно.
 

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 20:02 28-02-2017 | Исправлено: iNNOKENTIY21, 20:26 28-02-2017
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru