Heaventools

   English English  Deutsch Deutsch

startseite   produkte   resource tuner console   beispiel-skripts

Stapelverarbeitung von alle Dateien in einem Verzeichnis

Dieser Script zeigt, wie man die Inhalte des Verzeichnisses stapelweise verarbeitet.

RTC ScriptDieses Skript durchsucht das angegebenen Quellverzeichnis auf alle verfügbaren Dateien. Dann wird für jede Datei mit der Dateierweiterung (EXE, DLL, SYS, CPL) die Dateiverarbeitungsprozedur aufgerufen welche die US- englische Sprache für alle Ressourcen der Datei setzt und die Versionsinformationen aktualisiert.

Die resultierenden Dateien werden in das Zielverzeichnis 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.

'------------------------------------------------------------------------------
'
' This code shows how to batch process the contents of a directory.
' It processes specific file extensions (EXE, DLL, SYS, CPL) in the source directory.
'
'------------------------------------------------------------------------------
'----------------------------------------------------------------------------
' ProcessFile
' 
' Die Dateiverarbeitungsprozedur setzt die US-englische Sprache für alle Ressourcen in
' der Datei und aktualisiert die Versionsinformationen.
'----------------------------------------------------------------------------

Sub ProcessFile (Src_Path, Dest_Path, File_Name)
  LangID = 1033 ' English-US
  CP     = ScriptUnit.CodePageFromLangID(LangID)
  PEFileProxy.OpenFile Src_Path & File_Name
  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 2023 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 Dest_Path & File_Name 
      Else 
        PEFileProxy.PostDebugString "Failed to open/create Version Info..." 
      End If 
    End If 
  End If 
End Sub 
'------------------------------------------------------------------------------ 

'------------------------------------------------------------------------------ 
' 
' The main routine. 
' 
' Es durchsucht das angegebenen Quellverzeichnis auf alle verfügbaren Dateien.
' Dann wird für jede Datei mit der Dateierweiterung (EXE, DLL, SYS, CPL) die Datei-
' verarbeitungsprozedur aufgerufen.
' 
'------------------------------------------------------------------------------ 
Sub Main 
  dim Src_Path, Dest_Path, File_System_Object, Folder_Object, File_Object, File_Collection
  PEFileProxy.UpdateCheckSum = True
  PEFileProxy.CreateBackUp   = False
  ' Specify the path to the Source Folder
  Src_Path = ScriptUnit.CurrentFolder & "src\"
  ' Specify the path to the Destination Folder
  Dest_Path = 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(src_path)
  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 an extension and process specific file extension
    If FL_EXT = "exe" or FL_EXT = "dll" or FL_EXT = "sys" or FL_EXT = "cpl" then
      ProcessFile Src_Path, Dest_Path, 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.

Nachdem Sie Resource Tuner Console installiert haben, finden Sie die Beispiel-Skripts in dem Verzeichnis, in dem RTC installiert wurde. Das Setup-Programm erstellt auch das Verzeichnis "Demo" im RTC-Verzeichnis, der Testanwendungen im Unterverzeichnis "Demo\Src" enthält.

 

So verwenden Sie die Skripts: The Complete Illustrated Guide To Using Scripts

Download 60-Tage Resource Tuner Console Testversion     Kaufen Sie die Vollversion