Heaventools

   English English  Deutsch Deutsch

startseite   produkte   resource tuner console   beispiel-skripts

Stapelverarbeitung aller ausführbaren Dateien in einem Ordner

Dieser Beispielcode bietet ein praktisches Beispiel, das viele der Funktionen von Resource Tuner Console demonstriert. Der Code zeigt, wie Sie den Inhalt eines Verzeichnisses mit gemischten EXE- und DLL-Dateien stapelverarbeiten können.

Das Skript durchsucht das angegebene Quellverzeichnis nach allen verfügbaren Dateien. Für jede Datei mit der angegebenen Dateierweiterung (EXE, DLL, SYS) ruft es das Verfahren ProcessFile auf, um für alle Ressourcen in jeder Datei die englischsprachige US-Sprache festzulegen und die Versionsinformationen (StringFileInfo, FileVersion und ProductVersion-Werte) zu aktualisieren. Die verarbeiteten Dateien werden im Zielordner gespeichert.

Hinweis: Wenn Sie den Script-Code kopieren, stellen Sie bitte sicher, dass er keine Zeilenumbrüche enthält. Dies ist eine Anforderung von VBScript: der gesamte Befehl muss in einer Zeile stehen.

Process Folder

'------------------------------------------------------------------------------------
'
' Dieser Code zeigt, wie Sie den Inhalt eines Verzeichnisses stapelweise verarbeiten 
' können.
' Er verarbeitet spezifische Dateierweiterungen (EXE, DLL, SYS) im Quellverzeichnis.
'
'------------------------------------------------------------------------------------
' ProcessFile procedure
' 
' Zweck:
'
' Legt die englischsprachige US-Sprache für alle Ressourcen in der Datei fest und
' aktualisiert die Versionsinformationen der Ressource: StringFileInfo, FileVersion
' und ProductVersion-Werte.
'
'------------------------------------------------------------------------------------

Sub ProcessFile (SrcPath, DestPath, FileName)
  ' Set Language constant here
  LangID = 1033 ' English-US
  
  ' Retrieve the Code Page
  CP     = ScriptUnit.CodePageFromLangID(LangID)
  
  PEFileProxy.OpenFile SrcPath & FileName
  If Not PEFileProxy.Terminated Then
    If PEFileProxy.HasResources Then 
      ResourcesProxy.SetLanguage LangID, DELETE_IF_EXISTS 
      If ResourcesProxy.OpenVersionInfo("1", LangID, CREATE_IF_NOT_EXIST) Then 
       VersionInfoProxy.SetFileVersion  2, 0, 1, 122, LangID, True, True, True
       VersionInfoProxy.SetProductVersion 2, 0, 0, 0, LangID, True, True, True
       S1 = "Copyright \0xA9 2024 SuperSoftware Development"
       S2 = "SuperProg is a trademark of SuperSoftware Development"
       S3 = "This file modified by Resource Tuner Console"
       VersionInfoProxy.EditStringFileInfo "LegalCopyright", S1, CP, LangID, True, True
       VersionInfoProxy.EditStringFileInfo "LegalTrademarks", S2, CP, LangID, True, True
       VersionInfoProxy.EditStringFileInfo "Comments", S3, 1049, LangID, True, True
       ResourcesProxy.CloseVersionInfo 
       PEFileProxy.Compile 
       PEFileProxy.SaveAsNewImage DestPath & FileName 
      Else
        ' Issue a warning in case of error
        PEFileProxy.PostDebugString "Failed to open/create Version Info..." 
      End If 
    End If 
  End If 
End Sub 

'------------------------------------------------------------------------------ 
' 
' Die Hauptroutine. 
' 
' Zuerst durchsucht sie den angegebenen Quellverzeichnis nach verfügbaren Dateien.
' Dann ruft sie für jede gefundene Datei die ProzessDatei-Prozedur auf.
'
' Resource Tuner Console Demo ermöglicht nur die Verarbeitung von zwei
' Dateien gleichzeitig.
' Bestellen Sie die Vollversion und nutzen Sie sie ohne Einschränkungen!
' 
'------------------------------------------------------------------------------

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 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 modify it to one uniform lower case
  ' because there may be both upper and lower case characters
    FL_EXT = LCase(File_System_Object.GetExtensionName(File_Object.name))
  ' Check if the file has the specified file extension and process specific file
  ' extension. Add or remove file extensions as needed.
    If FL_EXT = "exe" or FL_EXT = "dll" or FL_EXT = "sys" 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.