2017-05-29 2 views
0

Ich habe mehrere Stapel umbenennen Antworten gelesen, und habe sie nicht für meine Anwendung arbeiten lassen. Meine Regex- und Loop-Fähigkeiten sind schwach.Batch-Datei verschieben und umbenennen, mit einem Teil des Verzeichnisnamens

Ich muss viele Dateien mit dem gleichen Namen, sagen wir non_unique_file.txt von Verzeichnissen mit halb eindeutigen Namen wie 'Verzeichnis # 1 /' oder 'Verzeichnis # 2 /' in das Verzeichnis 'non_unique_files /' verschieben, während sie ihren Namen ändert, enthält sie den eindeutigen Bezeichner aus dem Ursprungsverzeichnis. Wenn ich nur eine Datei bewegen, würde es wie folgt aussehen:

cp Directory#1/non_unique_file.txt non_unique_files/#1.txt 

ich mehrere Schleifen versucht, wie zum Beispiel:

for f in Directory* ; do cp $f/*txt non_unique_files/$f ; done 

zu wissen, dass es nicht genau das war, was ich brauchte, aber ich weiß nicht weiß, wie man die ursprünglichen Verzeichnisnamen analysiert und diese zu den neuen Dateinamen im neuen Verzeichnis hinzufügt.

Jede Hilfe/Ressourcen würde geschätzt werden.

Antwort

0

Ich habe es herausgefunden. Nicht sicher, wie das funktioniert, aber es funktioniert.

for f in Directory* ; do cp $f/non_unique_file.txt non_unique_files/$f"".txt"" ; done 

Wo meine Dateien 'Directoy # x.txt' umbenannt bekommen in meinem non_unique_files/Verzeichnis.

Verwandte Themen