#post-id: 4573-05-56 #original-date: 1.02.2013 Fri #original-time: 5:56 AM #original-day: 4573 #original-host: WinXP Home SP3 (Build 2600) Меня тут обвинили в том, что у меня одни репосты и задолбали. Ну что ж, получите, распишитесь. Сей скрипт выполняет героическую задачу (влом мне это делать руками): смотрит подкаталоги и строит на их основе файл CustomMenu для одноимённой программы с учтом того, что в подкаталогах находятся файлы Theme Pictures с именами самих каталогов. О как. Тоесть, если у нас есть каталог Pictures, а в нём подкаталоги такого вида: > Nature\Nature.EXE > Nature\Autumn.JPG > Nature\.... > > Animals\Animals.EXE > Animals\Cats.JPG > Animals\.... То программа создаст Pictures.CustomMenu такого содержания: > [Options] > Title=Pictures > > [Item 1] > Title=\ > FileName=Pictures.EXE > > [Item 2] > Title=\Nature > FileName=Nature\Nature.EXE > > [Item 3] > Title=\Animals > FileName=Animals\Animals.EXE И в меню при запуске файла будут три пункта: > \ > \Nature > \Animals Каждый из них будет "показывать" картинки из соответствующей папки. А сам файл можно на хоткей повесить и по-быстрому пересматривать. Скпипт, скажем, UpdateCustomMenu.VBS: > Option Explicit > > Dim FSO > Dim BaseFolder > Dim Folder > Dim File > Dim TMP > Dim EntryName > Dim FileName > > Set FSO = CreateObject("Scripting.FileSystemObject") > Set BaseFolder = FSO.GetFolder(".") > > Set File = FSO.OpenTextFile(BaseFolder.Name & ".CustomMenu", 2, True, 0) > > File.WriteLine "[Options]" > File.WriteLine "Title=" & BaseFolder.Name > File.WriteLine "" > File.WriteLine "[Item 1]" > File.WriteLine "Title=\" > File.WriteLine "FileName=" & BaseFolder.Name & ".EXE" > File.WriteLine "" > > TMP = 2 > > For Each Folder In BaseFolder.SubFolders > > EntryName = "\" & Folder.Name > FileName = Folder.Name & "\" & Folder.Name & ".EXE" > > If Not FSO.FileExists(FileName) Then WScript.Echo "Not found " & FileName > > File.WriteLine "[Item " & TMP & "]" > File.WriteLine "Title=" & EntryName > File.WriteLine "FileName=" & FileName > File.WriteLine "" > > TMP = TMP + 1 > > Next > > File.Close Проверку ошибок писать было лень.