главная программы
resource tuner console
сборник примеров скриптов
Изменение переменных и строк в Version Information
Этот код демонстрирует использование Resource Tuner Console для пакетного редактирования version variables (номеров версий, названий продуктов, строчек копирайта) из командной строки для файлов с заданными расширениями.
Скрипт вносит изменения в ресурс Version Information во всех EXE или DLL файлах в указанной директории. Если у файла отсутствует ресурс Version Info, он добавляется. Каждое поле в структуре VERSIONINFO под вашим контролем.
Примечание: при копировании кода скрипта, пожалуйста, убедитесь в отсутствии переносов строк внутри команд. Это требование VBScript: каждая команда должна располагаться целиком на одной строке.
sub ProcessFile (SrcPath, DestPath, FileName) ' Устанавливаем значение языковой константы для English-US LangID = 1033 ' English-US ' Определяем кодовую страницу CP = ScriptUnit.CodePageFromLangID(LangID) PEFileProxy.OpenFile SrcPath & FileName if not PEFileProxy.Terminated then if PEFileProxy.HasResources then '------------------------- Установка языка ------------------------------------ ' Установка языка English-US для всех ресурсов в файле. ' Изменяем язык для всех ресурсов в файле, приводя его к единому значению. ' Эта операция необязательна: если вам не нужно изменять язык для ресурсов, ' вы можете просто закомментировать ее. ResourcesProxy.SetLanguage LangID, SKIP_IF_EXISTS '------------------------------------------------------------------------------- 'Открываем Version Info для редактирования. if ResourcesProxy.OpenVersionInfo("1", LangID, CREATE_IF_NOT_EXIST) then 'Заполняем цифровые значения FileVersion и ProductVersion. VersionInfoProxy.SetFileVersion 5, 1, 4, 20, LangID, True, True, True VersionInfoProxy.SetProductVersion 5, 1, 0, 0, LangID, True, True, True 'Изменяем строковые значения File Version Information. S1 = "My Company" S2 = "Yet Another Super Application" S3 = "Hot product" S4 = "Copyright \0xA9 2025 My Company, Inc." S5 = "your trademarks here..." S6 = "Next Big Thing" S7 = "Powered by Resource Tuner Console" VersionInfoProxy.EditStringFileInfo "CompanyName", S1, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "FileDescription", S2, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "InternalName", S3, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "LegalCopyright", S4, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "LegalTrademarks", S5, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "ProductName", S6, CP, LangID, True, True VersionInfoProxy.EditStringFileInfo "Comments", S7, CP, LangID, True, True ResourcesProxy.CloseVersionInfo PEFileProxy.Compile PEFileProxy.SaveAsNewImage DestPath & FileName else 'Предупреждение в случае ошибки PEFileProxy.PostDebugString "Не удалось открыть/создать ресурс Version Info..." end if end if end if end sub '---------------------------------------------------------------------------------- ' ' Основная процедура. ' ' Она обрабатывает заданные расширения файлов в исходном каталоге. ' ' Сначала она сканирует указанную директорию на наличие доступных файлов. ' Затем для каждого найденного файла с определенным расширением (EXE, DLL, RES) ' она вызывает процедуру ProcessFile для выполнения необходимых изменений. ' ' Resource Tuner Console Demo позволяет обрабатывать только два файла за раз. ' Купите полную версию и пользуйтесь без ограничений! ' '------------------------------------------------------------------------------ Sub Main dim SrcPath, DestPath, File_System_Object, Folder_Object, File_Object, File_Collection PEFileProxy.UpdateCheckSum = True PEFileProxy.CreateBackUp = False ' Указываем путь к Source Folder SrcPath = ScriptUnit.CurrentFolder & "src\" ' Указываем путь к Destination Folder DestPath = ScriptUnit.CurrentFolder & "release\" ' Сканируем указанную локацию и процессим все найденные файлы. set File_System_Object = CreateObject("Scripting.FileSystemObject") set Folder_Object = File_System_Object.GetFolder(SrcPath) set File_Collection = Folder_Object.Files for each File_Object in File_Collection ' Получаем расширение файла и переводим все символы в нижний регистр, ' потому что могут встретится буквы и в верхнем, и в нижнем регистрах. FL_EXT = LCase(File_System_Object.GetExtensionName(File_Object.name)) ' Проверяем расширение файла и вызываем процедуру при совпадении с заданным. ' При необходимости добавьте нужные вам расширения файлов. if FL_EXT = "exe" or FL_EXT = "dll" or FL_EXT = "res" then ProcessFile SrcPath, DestPath, File_Object.name PEFileProxy.PostDebugString "*************************************" end if Next End Sub
Чтобы посмотреть и проверить произведённые изменения в EXE файле, мы рекомендуем использовать Resource Tuner GUI, визуальный редактор ресурсов.
Примеры скриптов
Установив Resorce Tuner Console на свой компьютер, вы найдёте папку Demo Scripts
в директории с программой. Внутри этой папки находятся 12 папок с примерами скриптов и тестовыми файлами.
Все примеры скриптов готовы к применению. Чтобы запустить выполнение скрипта, выберете соответствующий .BAT файл в любой папке с примером. Resorce Tuner Console произведёт изменения в тестовом EXE файле, находящемся в папке Src
. Результирующий файл будет записан в папку Release
в директории, содержащей скрипт.
Пошаговое руководство по использованию скриптов
Скачать 60-дневную пробную версию Resource Tuner Console