Список файлов в нужной папке и вложенных получить могу, обрезать лишнее тоже, но неясно как это вывести при произвольном количестве вложенности и файлов.
Вручную вложенные меню успешно делаются:
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
ASK'R
Вручную вложенные меню успешно делаются:
------------------ deleting previous menu if ((menuMan.findMenu "MyScripts") != undefined) then ( menuMan.unRegisterMenu (menuMan.findMenu "MyScripts") menuMan.updateMenuBar() ) --------------------creating menu mainMenuBar = menuMan.getMainMenuBar() subMenu = menuMan.createMenu "MyScripts" str = "macroscript smartmenu" + "51" /*(ii as string)*/ + " category:\"smartmenu\" buttontext:\"" + "(getFilenameFile i)" + "\" (execute (print \"hello\" /*openFile \"" + "i" + "\"*/))" execute str -- menuMan.createActionItem "macroScriptName" "macroScriptCategory" testItem = menuMan.createActionItem ("smartmenu51"/* + "(ii as string)"*/) "smartmenu" subMenu.addItem testItem -1 separator = menuMan.createSeparatorItem() subMenu.addItem separator -1 subSubMenu = menuMan.createMenu "test submenu" testSubItem = menuMan.createSubMenuItem "name" subSubMenu subMenu.addItem testSubItem -1 subSubSubMenu = menuMan.createMenu "test subsubmenu" testSubSubItem = menuMan.createSubMenuItem "subname" subSubSubMenu subSubMenu.addItem testSubSubItem -1 testItem = menuMan.createActionItem ("smartmenu51"/* + "(ii as string)"*/) "smartmenu" subSubSubMenu.addItem testItem -1 -----------------------updating menu subMenuItem = menuMan.createSubMenuItem "Test Menu" subMenu subMenuIndex = mainMenuBar.numItems() - 1 mainMenuBar.addItem subMenuItem subMenuIndex menuMan.updateMenuBar()(взято из SmartMenu http://www.scriptspot.com/3ds-max/scripts/smart-menu и хелпа)Список файла в виде массива, разобрать filterString'ом можно.
igorznag
( fn recursive_menu subMenu subPath = ( files=getFiles (subPath+"/*.ms"); sort files -------------------- creating run-maroscripts and populating menu for i in files do ( ii = ii + 1 str = "macroscript smartmenu" + (ii as string) + " category:\"smartmenu\" buttontext:\"" + (getFilenameFile i) + "\" (execute (openFile \"" + i + "\"))" execute str testItem = menuMan.createActionItem ("smartmenu" + (ii as string)) "smartmenu" subMenu.addItem testItem -1 ) --get dirs dirArr = GetDirectories (subPath+"/*"); sort dirArr if(dirArr.count>0)then ( if(files.count>0)then ( separator = menuMan.createSeparatorItem() subMenu.addItem separator -1 )--if(files.count>0)then --creating subMenu for i in dirArr do ( subSubPath=substring i 1 (i.count-1) subSubMenu = menuMan.createMenu (getFilenameFile subSubPath) subSubItem = menuMan.createSubMenuItem "name" subSubMenu subMenu.addItem subSubItem -1 recursive_menu subSubMenu subSubPath )--for i in dirArr do )--if(dirArr.count>0)then )--fn recursive_menu my_menu ----------------------------------------------------- ------------------ deleting previous menu if ((menuMan.findMenu "MyScripts") != undefined) then ( menuMan.unRegisterMenu (menuMan.findMenu "MyScripts") menuMan.updateMenuBar() ) ----------- global ii=0 --------------------creating menu subMenu = menuMan.createMenu "MyScripts" subPath=(GetDir #scripts)+"/myscripts" recursive_menu subMenu subPath -----------------------updating menu mainMenuBar = menuMan.getMainMenuBar() subMenuItem = menuMan.createSubMenuItem "Test Menu" subMenu subMenuIndex = mainMenuBar.numItems() - 1 mainMenuBar.addItem subMenuItem subMenuIndex menuMan.updateMenuBar() --------------------- print ii )igorznag
ASK'R