DOS-Skript zum Umbenennen von Dateien

Wenn ein Dokument mehrere Dateien enthält, deren Erweiterung ein Benutzer ändern möchte, kann der Benutzer einen Stapelbefehl verwenden, mit dem die Erweiterung aller ähnlichen Dateien auf die gewünschte Erweiterung geändert wird. Wenn Sie beispielsweise Dateien mit der Erweiterung .avi in ​​.bmp ändern möchten, müssen Sie zwei Argumente mit der Erweiterung 'from' und der Erweiterung 'to' angeben. Wenn der Dateiname test.bat lautet, sollte der Befehl ungefähr so ​​aussehen: test * .avi * .bmp. Dieser Befehl ändert alle AVI-Erweiterungsdateien in BMP-Erweiterungsdateien. Alternativ können Sie Biterscripting von biterscripting.com herunterladen, um die Dateierweiterungen zu ändern.

Problem

Ich möchte wissen, mit welchen Stapelbefehlen ich Dateien im Verzeichnis \ gbr1w001data_transfer_gb77 $ umbenennen kann

 INVPRT_5023949000004_20080818061329_0000979.GB ---> 5023949000004_MSG_IN_20080818061329_0000979.GB PPRHDR_5000119000006_20080721061424_00000981.GB_m ---> 5000119000006_MSG_IN_20080721061424_00000981.GB_m SLSRPT_5023949000004_20080721061317_00000978.GB ---> 5023949000004_MSG_IN_20080721061317_00000978.GB 

Grundsätzlich möchte ich 7 Zeichen am Anfang der Datei ablegen und nach den 14 Zeichen MSG_IN_ einfügen.

Bitte helfen Sie!

Lösung

Zum

 / r %% x in (% 1) gibt "%% x"% 2 aus 

Das wird die Datei rekursiv umbenennen :-)

  • Speichern Sie in einer Datei und geben Sie 2 Argumente von der Erweiterung bis zur Erweiterung an.
  • Beispiel: Der Dateiname lautet test.bat
  • Befehl: test * .avi * .bmp

Es benennt alle Dateien mit der Endung avi in ​​bmp um (in allen Unterordnern).

Lösung 2

Das folgende Biterscript-Skript erledigt genau das. Um Biterscripting kostenlos herunterzuladen, besuchen Sie die Website unter biterscripting.com

Speichern Sie das Skript in einer Datei mit dem Namen C: /X.txt. Starten Sie das interaktive Bit-Scripting und rufen Sie das Script genau wie folgt auf:

 Skriptmuster "C: /X.txt" dir ("\ gbr1w001 \ data_transfer_gb77") ("INVPRT_") 

Alle Verzeichnisse, Dateinamen und Muster sind Beispiele, verwenden Sie Ihre eigenen.

Sie können dieses Skript für jedes von Ihnen beschriebene Muster aufrufen. Sie können auch ein Masterskript erstellen, um dieses Skript für jedes Muster wiederholt aufzurufen. Sie können dies im Batch-Modus tun, indem Sie Biterscript aufrufen

von einem anderen Programm oder DOS.

stex = Zeichenkettenextraktor, chex = Zeichenextraktor, chin = Zeicheneinfüger, -p = ursprüngliche Zeichenkette beibehalten, ] = bis zu und einschließlich usw. Machen Sie eine Hilfe zu Befehlen, um die Details zu erhalten. Dies sind ziemlich mächtige Editorbefehle.

Sen

 # START OF SCRIPT # Eingabeargumente deklarieren. var str dir pattern # Sammelt eine Liste von Dateien, die dem Muster entsprechen. var str list find -f $ pattern $ dir> $ list # Die Liste der Dateien befindet sich in $ list. Nacheinander verarbeiten. while ($ list "") do # Liefert die nächste Datei. var str file, path, old_name, new_name lex "1" $ list> $ file # Entferne Pfad. Dies gibt uns nur den Dateinamen in $ old_name. stex -p "^ / ^ l [" $ file> $ old_name # Nach (aber ohne) dem letzten / # Die ersten 7 Zeichen löschen. chex -p "7]" $ alter_name> $ neuer_name # Fügen Sie nach 14 Zeichen MSG_IN_ ein. chin "14" "MSG_IN_" $ new_name> null # Wir verwenden> null, weil wir die Ausgabe nicht sehen wollen # Wir wollen MSG_IN_ in $ new_name einfügen (also keine Option -p). script SS_SlashBack.txt ospath ($ file)> $ file # $ file umbenennen in $ new_name system umbenennen $ file $ new_name # END OF SCRIPT 

Hinweis

Danke an satya für diesen Tipp im Forum.

Vorherige Artikel Nächster Artikel

Top-Tipps