startseite produkte resource tuner console beispiel-skripts
Versions-Information hinzufügen, bearbeiten und aktualisieren
Dieser Code zeigt, wie Versionsvariablen (Versionsnummern, Produktnamen, Urheberrechtszeichen usw.) in allen vorhandenen Windows-EXE-, DLL- oder RES-Dateien in einem bestimmten Ordner geändert werden können.
Resource Tuner Console bietet eine bequeme Möglichkeit, Versionsvariablen direkt von der Befehlszeile aus zu ändern. Wenn eine Datei noch keine Versionsinformationen enthält, erstellt Resource Tuner Console diese automatisch für Sie.
Hinweis: Stellen Sie sicher, dass im Skriptcode keine Zeilenumbrüche vorhanden sind, da VBScript erfordert, dass der gesamte Befehl in einer Zeile steht.
sub ProcessFile (SrcPath, DestPath, FileName) ' Legt den Sprachkonstantenwert auf Englisch-US fest. LangID = 1033 ' Hier gibt die ID "1033" die Sprache für Englisch-US an. ' Retrieve the Code Page CP = ScriptUnit.CodePageFromLangID(LangID) PEFileProxy.OpenFile SrcPath & FileName if not PEFileProxy.Terminated then if PEFileProxy.HasResources then '--------------------------- Set the language -------------------------------------- ' Setzt die Englisch-US-Sprache für alle Ressourcen in der Datei. ' Es ändert die Sprache für alle Ressourcen in der Datei auf einen ' einheitlichen Wert. ' Diese Operation ist optional: Wenn Sie die Sprache für Ressourcen nicht ' ändern müssen, können Sie sie einfach auskommentieren. ResourcesProxy.SetLanguage LangID, SKIP_IF_EXISTS '----------------------------------------------------------------------------------- 'Open the Version Info for editing. if ResourcesProxy.OpenVersionInfo("1", LangID, CREATE_IF_NOT_EXIST) then VersionInfoProxy.SetFileVersion 5, 1, 4, 20, LangID, True, True, True VersionInfoProxy.SetProductVersion 5, 1, 0, 0, LangID, True, True, True S1 = "My Company" S2 = "Yet Another Super Application" S3 = "Hot product" S4 = "Copyright \0xA9 2024 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 'Issue a warning in case of error PEFileProxy.PostDebugString "Can't open/create Version Info resource..." end if end if end if end sub '---------------------------------------------------------------------------------- ' ' Die Hauptroutine. ' ' Es bearbeitet bestimmte Dateierweiterungen im Quellverzeichnis. ' ' Zunächst durchsucht es das angegebene Quellverzeichnis nach verfügbaren Dateien. ' Anschließend ruft es für jede gefundene Datei mit bestimmter Dateierweiterung ' (EXE, DLL, RES) die Prozedur ProcessFile auf, um die erforderlichen Änderungen ' vorzunehmen. ' '---------------------------------------------------------------------------------- Sub Main dim SrcPath, DestPath, File_System_Object, Folder_Object, File_Object, File_Collection PEFileProxy.UpdateCheckSum = True PEFileProxy.CreateBackUp = False ' Specify the path to the Source Folder SrcPath = ScriptUnit.CurrentFolder & "src\" ' Specify the path to the Destination Folder DestPath = ScriptUnit.CurrentFolder & "release\" ' Scan the specified folder, and then process all files found. 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 ' Get an extension and convert it to one uniform lowercase, regardless of ' whether the original filename contains upper or lowercase characters. FL_EXT = LCase(File_System_Object.GetExtensionName(File_Object.name)) ' Check if the file has the specified file extension and process it. ' Add or remove file extensions as needed. 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
Um die Änderungen, die man in Test-EXE-Dateien gemacht hat, zu sehen, empfehlen wir die Benutzung von Resource Tuner GUI, einem visuellen Ressourcen-Editor.
BEISPIEL-SKRIPTBIBLIOTHEK
Nach der Installation von Resorce Tuner Console finden Sie den Demo Scripts-Ordner
im Verzeichnis, in dem RTC installiert wurde. In diesem Demo-Ordner befinden sich 12 Unterverzeichnisse mit Skriptbeispielen und Beispieldateien.
Alle Beispielskripte sind einsatzbereit. Wählen Sie eine der .BAT-Dateien in den Demo Scripts-Ordnern
aus, um das Beispielskript auszuführen. Das Skript wird Änderungen in der Test-EXE-Datei vornehmen. Die resultierende Datei wird im Verzeichnis Release
unter dem Verzeichnis erstellt, das das Skript enthält.
Schritt-für-Schritt Anleitung wie man Skripte benutzt
Laden Sie Resource Tuner Console herunter und erfahren Sie, wie es Ihre Produktivität steigern kann.