VBS/WSH/JS - [решено] Не работает скрипт для создания группы каталогов в меню пуск

Ответить
Аватара пользователя
Ins_16

VBS/WSH/JS - [решено] Не работает скрипт для создания группы каталогов в меню пуск

Сообщение Ins_16 »

Здравствуйте помогите пожалуйста новичку. Не работает скрипт для создания группы каталогов в меню пуск.Выкидывает ошибку строка 4 символ 1 путь не найден.Я думаю ошибка в том что я неправильно объявил переменную для пути.







Код:

Код: Выделить всё

Set FSO = CreateObject("Scripting.FileSystemObject")
ausr ="C:\Documents and Settings\All Users\Главное меню\Программы"
'-------------------------------------------------------------------
FSO.CreateFolder "ausr\Офис"
FSO.CreateFolder "ausr\Графика"
FSO.CreateFolder "ausr\Мультимедиа"
FSO.CreateFolder "ausr\Устр-ва"
FSO.CreateFolder "ausr\Интернет"
FSO.CreateFolder "ausr\Утилиты"
'Учет ошибок
   If Err.Number Then
      MSgBox "Сценарий выполнен с ошибками" & CStr(Err.Number) & " : " & Err.Description
   Else
      Err.Clear
      MSgBox "Сценарий выполнен"
   End if
WScript.Quit (0)
Аватара пользователя
Busla

Re: VBS/WSH/JS - [решено] Не работает скрипт для создания группы каталогов в меню пуск

Сообщение Busla »

Всё равно это скрипт для очень конкретной системы - пути надо дёргать из реестра, а не явно прописывать в коде.
Аватара пользователя
Ins_16

Re: VBS/WSH/JS - [решено] Не работает скрипт для создания группы каталогов в меню пуск

Сообщение Ins_16 »

Вот рабочий пример



Код:

Код: Выделить всё

'Create by Ins_16 
'Скрипт для создания ярлыков в меню пуск
'Инициализация переменных
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SpecialFolders = WshShell.SpecialFolders
ausr = SpecialFolders.Item("Programs") 'меню пуск
programfiles = "C:\Program files\"
'Создание основных папок в меню пуск
call RusCreateDir(ausr)
function RusCreateDir(ausr)'Создаёт основные папки в меню пуск
if not FSO.FolderExists (ausr & "\Офис") then ' если папка не существует тогда создать её
FSO.CreateFolder ausr & "\Офис" 
end if
if not FSO.FolderExists (ausr & "\Графика") then
FSO.CreateFolder ausr & "\Графика"
end if
if not FSO.FolderExists (ausr & "\Мультимедиа")then
FSO.CreateFolder ausr & "\Мультимедиа"
end if
if not FSO.FolderExists (ausr & "\Устр-ва") then
FSO.CreateFolder ausr & "\Устр-ва"
end if
if not FSO.FolderExists (ausr & "\Интернет") then
FSO.CreateFolder ausr & "\Интернет"
end if
if not FSO.FolderExists (ausr & "\Утилиты") then
FSO.CreateFolder ausr & "\Утилиты"
end if
call LnkFuncCall() 'вызов ф-ции создания ярлыков
end function
Sub LnkFuncCall() 'Создание ярлыков для установленных программ
	Call calc(ausr)
	Call aimp2(ausr)
End Sub
function calc(ausr)'Калькулятор
Set WshShortcut = WshShell.CreateShortcut(ausr & "\Калькулятор.lnk")
WshShortcut.Description = "Калькулятор"
WshShortcut.TargetPath = "C:\Windows\system32\Calc.exe"
WshShortcut.WindowStyle = 1
WshShortcut.Save
end function
function aimp2(ausr)'AIMP
Set WshShortcut = WshShell.CreateShortcut(ausr & "\Мультимедиа\AIMP.lnk")
WshShortcut.Description = "AIMP2 player"
WshShortcut.TargetPath = programfiles & "AIMP2\AIMP2.exe"
WshShortcut.WindowStyle = 1
WshShortcut.Save
end function
Ответить

Вернуться в «Скриптовые языки администрирования Windows»