VlVlV
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору команда для создания нескольких разных файлов за раз, с возможностью инлайн-переименования в процессе создания (в моем случае это офисные файлы) Office Document... Код: Option Explicit Function OnClick(ByRef ClickData) Dim dlg, ext, i ext = Array("mdb", "xls", "ppt", "pub", "doc") Set dlg = ClickData.Func.Dlg dlg.title = "Create Office Document" dlg.message = "Check document(s) to create:" dlg.buttons = "OK|Cancel" dlg.choices = DOpus.NewVector("Access Document", "Excel Document", "PowerPoint Document", "Publisher Document", "Word Document") dlg.list = DOpus.NewVector dlg.Show If dlg.result = 1 Then For i = 0 To dlg.choices.size - 1 If dlg.list(i) Then ClickData.Func.Command.RunCommand("Filetype New=." & ext(i) & " NEWNAME=""New " & dlg.choices(i) & """") End If Next End If End Function | Inno Setup Folders... аналогичная команда, но только для создания папок. можете задать свой массив названий. Код: Option Explicit Function OnClick(ByRef ClickData) Dim dlg, i Set dlg = ClickData.Func.Dlg dlg.title = "Create Inno Setup Folders" dlg.message = "Check folder(s) name(s) to create:" dlg.buttons = "OK|Cancel" dlg.choices = DOpus.NewVector("{app}", "{cf}", "{commonappdata}", "{fonts}", "{localappdata}", "{pf}", "{sd}", "{sys}", "{tmp}", "{userappdata}", "{userdocs}", "{win}") dlg.list = DOpus.NewVector dlg.Show If dlg.result = 1 Then For i = 0 To dlg.choices.size - 1 If dlg.list(i) Then ClickData.Func.Command.RunCommand("CreateFolder NOSEL """ & dlg.choices(i) & """") End If Next End If End Function | наиболее интересная на мой взгляд команда для создания "кирпичей". честно говоря мечтал об этом давно, и после появления скриптования в ДО сделал ее самой первой. для чего все это нужно? ) лично мне периодически требуется создание "кирпичей" различного размера для проверки копирования, замеров скорости, либо для "забития" жестких дисков под завязку, чтобы избавиться от зарезервированного системой места под MFT. после этого "кирпичи" удаляются и проводится дефрагментация. "кирпич" создается мгновенно, размер от 1 байта до размера жесткого диска. Dummy File... обновлен 2014-01-09 Код: Option Explicit Function OnClick(ByRef ClickData) Dim dlg, input, length, multiplier, size, unit Set dlg = ClickData.Func.Dlg dlg.title = "Create Dummy File" dlg.message = "Enter the file size. By default the size specified is treated as bytes, but you can use the following suffixes to use different units: kb (kilobytes), mb (megabytes) and gb (gigabytes). Example: 100kb" dlg.buttons = "OK|Cancel" dlg.default = "" dlg.Select = True dlg.max = 15 dlg.show If dlg.result = 1 Then input = Trim(dlg.input) length = Len(input) If length > 0 Then unit = LCase(Right(input, 2)) If unit = "kb" Then multiplier = 1024 ElseIf unit = "mb" Then multiplier = 1024 ^ 2 ElseIf unit = "gb" Then multiplier = 1024 ^ 3 ElseIf unit = "tb" Then multiplier = 1024 ^ 4 Else multiplier = 1 length = length + 2 End If size = Left(Trim(input), length - 2) * multiplier ClickData.Func.Command.SetType "msdos" ClickData.Func.Command.SetModifier "runmode", "hide" ClickData.Func.Command.RunCommand("{alias|system}\fsutil.exe file createnew {s}\{Date|yyyy-MM-dd}_{Time|HH.mm.ss}.dummy " & size) End If End If End Function | команда для копирования независимых групп файлов. в моем случае используется для восстановления виртуальных машин из резервных копий. VMware Virtual Machines Код: Option Explicit Function OnClick(ByRef ClickData) Dim dlg, i Set dlg = ClickData.Func.Dlg dlg.title = "VMware Virtual Machines" dlg.message = "Check virtual machine(s) to restore:" dlg.buttons = "OK|Cancel" dlg.choices = DOpus.NewVector("Windows 7", "Windows 7 x64", "Windows Server 2003 R2 Enterprise Edition", "Windows Server 2008 x64", "Windows XP Professional") dlg.list = DOpus.NewVector dlg.Show If dlg.result = 1 Then For i = 0 To dlg.choices.size - 1 If dlg.list(i) Then ClickData.Func.Command.RunCommand("Delete FORCE NORECYCLE QUIET ""{alias|appdata}\VMware\Virtual Machines\" & dlg.choices(i) & """") ClickData.Func.Command.RunCommand("Copy ""D:\Virtual Machines\" & dlg.choices(i) & """ TO ""{alias|appdata}\VMware\Virtual Machines""") End If Next End If End Function | команда, обратная предыдущей, для создания резервных копий виртуальных машин. Код: Option Explicit Function OnClick(ByRef ClickData) Dim dlg, files, i, k Set files = DOpus.NewVector("\*.nvram", "\*.vmdk", "\*.vmsd", "\*.vmx", "\*.vmxf") Set dlg = ClickData.Func.Dlg dlg.title = "VMware Virtual Machines" dlg.message = "Check virtual machine(s) to backup:" dlg.buttons = "OK|Cancel" dlg.choices = DOpus.NewVector("Windows 7", "Windows 7 x64", "Windows Server 2003 R2 Enterprise Edition", "Windows Server 2008 x64", "Windows XP Professional") dlg.list = DOpus.NewVector dlg.Show If dlg.result = 1 Then For i = 0 To dlg.choices.size - 1 For k = 0 To files.size - 1 If dlg.list(i) Then ClickData.Func.Command.RunCommand("Copy FILE WHENEXISTS=keepnewer ""{alias|appdata}\VMware\Virtual Machines\" & dlg.choices(i) & files(k) & """ TO ""D:\Virtual Machines\" & dlg.choices(i) & """") End If Next Next End If End Function | еще несколько скриптов на ресурсе ДО: "Select Similar Dimensions" menu button "Select By Filter" menu button Universal Zoom Settings Auto Backup (Normal and USB) | Всего записей: 286 | Зарегистр. 02-07-2009 | Отправлено: 19:55 25-12-2014 | Исправлено: VlVlV, 21:22 08-01-2015 |
|