Войти

Показать полную графическую версию : [решено] Не работает скрипт для создания группы каталогов в меню пуск


Ins_16
01-11-2010, 17:26
Здравствуйте помогите пожалуйста новичку. Не работает скрипт для создания группы каталогов в меню пуск.Выкидывает ошибку строка 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)

amel27
02-11-2010, 09:16
строка 4 символ 1 путь не найден »
FSO.CreateFolder ausr & "\Офис"

Ins_16
02-11-2010, 18:51
Спасибо

Busla
04-11-2010, 13:10
Всё равно это скрипт для очень конкретной системы - пути надо дёргать из реестра, а не явно прописывать в коде.

Iska
04-11-2010, 14:11
Только не из реестра: Длинная и печальная история ключа Shell Folders (http://www.transl-gunsmoker.ru/2008/12/shell-folders.html).
а не явно прописывать в коде »
А с этим абсолютно согласен.

Ins_16
24-04-2011, 23:26
Вот рабочий пример
'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