Показать полную графическую версию : [решено] Не работает скрипт для создания группы каталогов в меню пуск
Здравствуйте помогите пожалуйста новичку. Не работает скрипт для создания группы каталогов в меню пуск.Выкидывает ошибку строка 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)
строка 4 символ 1 путь не найден »
FSO.CreateFolder ausr & "\Офис"
Всё равно это скрипт для очень конкретной системы - пути надо дёргать из реестра, а не явно прописывать в коде.
Только не из реестра: Длинная и печальная история ключа Shell Folders (http://www.transl-gunsmoker.ru/2008/12/shell-folders.html).
а не явно прописывать в коде »
А с этим абсолютно согласен.
Вот рабочий пример
'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
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.