Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 05.04.2016
Сообщений: 21
VBS

Шрифты. Скрипт работает на Win8.1, не работает на Win10

21.02.2019, 20:19. Показов 3664. Ответов 5

Студворк — интернет-сервис помощи студентам
Спасайте, народ!
Всё очень просто: скрипт может самостоятельно установить большое количество шрифтов из каталога (т.е. он и копирует, и регистрирует шрифты).
Самое смешное, что на Win 8.1 он замечательно работает, но на Win 10 возникает ошибка не найден объект "objFolderItem". Что нужно изменить, чтобы он заработал? Либо, если это возможно, предложите аналог.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\UserFonts")
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
For Each FontFile In objFolder.Items()
Set objFolderItem = objFolder.ParseName(FontFile)
If Not objFSO.FileExists("c:\windows\fonts\" & FontFile) Then
objFolderItem.InvokeVerb ("Install")
End If
Next
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2019, 20:19
Ответы с готовыми решениями:

После обновления Win8 до Win10 wi-fi, работает меньше часа, и после пишет, что нет подключения
Доброй день форумчане Обновил Win8 до Win10, начались проблемы с подключением к wi-fi, работает меньше часа, и после пишет, что нет...

[JSP] JS скрипт из файла не работает, а если вручную писать - работает
У меня в 4 файлах нужен один и тот же скрипт, я и его вынес в отдельный файл appendLanguageParamToUrl.js function appendParameters() {...

PHP скрипт (SellFileEasy) работает на локальном сервере, но не работает на хостинге
Всем доброго времени суток! Данный скрипт предназначен для продажи файлов. При переходе на ссылку файла, скрипт блокирует доступ к...

5
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
21.02.2019, 21:15
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Set Shell = CreateObject("Shell.Application")
Fonts     = Shell.NameSpace(20).Self.Path & "\"
Set Items = Shell.Namespace("C:\UserFonts").Items
Set FSO   = CreateObject("Scripting.FileSystemObject")
Items.Filter 73920, "*.chr;*.fnt;*.fon;*.fot;*.mmm;*.otf;*.ttf;*.ttc;*.pfm;*.pfb"
For Each F in Items
   Font = FSO.GetFileName(F.Path)
   If Not FSO.FileExists(Fonts & Font) Then S = S & ";" & Font
Next
If S = "" Then WSH.Quit
Items.Filter 73920, Mid(S, 2)
Shell.NameSpace(20).CopyHere Items
1
1 / 1 / 0
Регистрация: 05.04.2016
Сообщений: 21
26.02.2019, 00:55  [ТС]
Шрифты копируются в папку, но процесс инсталляции не запускается.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
27.02.2019, 03:57
В 10-ке уже много чего накоцали. Ещё и это в придачу?
Замените последнюю строку на:
Visual Basic
1
Items.InvokeVerbEx "Install"
1
1 / 1 / 0
Регистрация: 05.04.2016
Сообщений: 21
01.03.2019, 14:38  [ТС]
Он работает, ура! Но все равно спрашивает о том, что делать с совпадающими шрифтам, то есть пропускается условие И права администратора требует.
Что можно сделать с условием?
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
02.03.2019, 04:30
Для начала выполните верхний скрипт.
И на базе опять же верхнего скрипта делаем:
Visual Basic
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
Option Explicit
Const Folder = "C:\UserFonts"
Dim oFSO, oShell, oItems, oFonts, Fonts, FItems, oRExp, Font, Name, S
 
Set oFSO   = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("Shell.Application")
Set oItems = oShell.Namespace(Folder).Items
Set oFonts = oShell.NameSpace(20)
Fonts      = oFonts.Self.Path & "\"
Set FItems = oFonts.Items
Set oRExp  = New RegExp
oRExp.IgnoreCase = True
oRExp.Pattern = "\s(Black|(Exstra)?(Book|Bold)|Cond(ensed)?|Hairline"&_
"|Heavy|Italic|Light|Medium|Narrow|News|Normal|Oblique|Regular|[DS]" &_
"emi(Bold|Light)|Thin) ?(Regular|Italic)? ?(Bold)? ?(Oblique|Italic)?$"
oItems.Filter 73920, "*.chr;*.fnt;*.fon;*.fot;*.mmm;*.otf;*.ttf;*.ttc;*.pfm;*.pfb"
 
For Each Font in oItems
   Name = Font.ExtendedProperty("DocTitle")
   If Not oRExp.Test(Name) Then Name = Name & ";" & Name & " Regular"
   FItems.Filter 73952, Name : Font = oFSO.GetFileName(Font.Path)
   If InStr(S & ";", ";" & Font & ";") = 0 Then _
   If Not oFSO.FileExists(Fonts & Font) Then If FItems.Count = 0 Then S = S & ";" & Font
Next
If S = "" Then WSH.Quit
oItems.Filter 73920, Mid(S, 2)
oItems.InvokeVerbEx "Install"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2019, 04:30
Помогаю со студенческими работами здесь

Почему скрипт не работает в Chrome, а в Firefox и Opera работает?
Имеется обычный код JS, работающий в Firefox и Opera, но не работающий в Chrome. Кстати хотел ещё заметить, что alert() работает в...

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

VMLAB 3.15 -> Win8.1 не работает!
Привет всем! Скачал WMLAB 3.15, установил,запустил. Как только нажал Файл-Открыть все исчезает. Абыдно! Пытался установить версию 3.14,...

Скрипт не работает на домашнем сервере, но работает на хостинге
есть скрипт который отлично работает на хостинге: <?php define( 'MAIL_TO', 'myname@pochta.net' ); define( 'SITE',...

Работает ли Matchad на Win10 ?
У кого-нибудь Маткад работает на win10?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru