Umbenennen per Batch Datei

Hi, man kann ja in einer Batch Datei ganz einfach über den Befehl „ren“ eine Datei umbenennen, allerdings muss der Name zu dem die Datei umbenannt werden soll als Syntax in der Batch Datei stehen. Ich möchte aber immer einen anderen Namen vergeben, kann man da sowas wie eine Abfrage machen? Ich möchte das ganze gerne mit einer Batch Datei lösen weil die auch noch ein paar andere Dinge machen soll, soweit hab ichs bis jetzt auch schon, jetzt möchte ich eben nur das ich am Ende gefragt werde wie die Datei heissen soll und die Batch Datei benennt sie um.

Hallo,

allerdings muss der Name zu dem die Datei umbenannt
werden soll als Syntax in der Batch Datei stehen.

er könnte auch durch einen Parameter an die Stapelverarbeitungsdatei übergeben werden, aus einer Datei ausgelesen werden und Vieles mehr.

Je nach Shell (welche benutzt du) gibt es noch mannigfaltige Möglichkeiten, was man mit den Variablen anstellen kann.


PHvL

Mit Shell meinst du womit ich die Datei schreibe? Wordpad. :smiley:

Vllt erklär ich einfach mal kurz worum es geht: Ich habe eine Audio Datei die von mehreren Programmen bearbeitet werden muss, das alles mache ich über Befehle in der Batch Datei. Damit die Batch Datei den Programmen sagen kann welche Audio Datei bearbeitet werden muss, muss diese Datei ja immer den gleichen Namen haben, oder ich müsste jedesmal den Befehl ändern, da fand ich das mit dem gleichen Namen einfacher. Die Batch Datei ändert also zuerst den Namen der Audio Datei auf zB test.m4a, dann wird diese Datei bearbeitet und nach dem bearbeiten soll die Datei wieder umbenannt und verschoben werden, nur soll ja jetzt nicht jede Datei den gleichen Namen haben, deshalb wäre eine Eingabe perfekt, oder noch besser wäre natürlich wenn der ursprüngliche Name automatisch wieder hergestellt wird.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Mit Shell meinst du womit ich die Datei schreibe? Wordpad. :smiley:

nein, womit du sie ausführst. Das hast du damit aber auch beantwortet - die Windows-Eingabeaufforderung cmd.

Damit die Batch Datei den Programmen sagen kann welche Audio
Datei bearbeitet werden muss, muss diese Datei ja immer den
gleichen Namen haben, oder ich müsste jedesmal den Befehl
ändern, da fand ich das mit dem gleichen Namen einfacher.

Verstehe ich nicht. Wenn du etwa die Batch-Datei mit dem Namen der Datei als Parameter aufrufst (passiert etwa auch bei Drag-and-Drop auf die Batch-Datei), so kannst du in der Batch-Datei mit „%1“ auf diesen - jedesmal anderen - Namen verweisen.

deshalb wäre eine Eingabe perfekt,

Um die Umgebungsvariable EINGABE mit einer Eingabe des Benutzers zu füllen, kann man einfach

set /p EINGABE=Bitte Text eingeben:

schreiben.

noch besser wäre natürlich wenn der ursprüngliche Name
automatisch wieder hergestellt wird.

Nun, der liegt ja nach wie vor in %1 oder wo du ihn auch immer her hattest.


PHvL

Ich glaube ihr überschätzt mich. :wink:

Eigentlich hab ich gar keine Ahnung von dem ganzen Kram, ich weiss nur das man Batch Dateien schreiben kann und such mir dann immer die passenden Befehle wie move oder ren bei Google. Soll also heissen ich hab keine Ahnung was du mir da gerade erzählt hast. :wink:

Ist %1 sowas wie ein Zwischenspeicher? Wenn ja, wie lege ich den Dateinamen dort ab und wie benenne ich die Datei dann später wieder um?

Hi!

Ist %1 sowas wie ein Zwischenspeicher? Wenn ja, wie lege ich
den Dateinamen dort ab und wie benenne ich die Datei dann
später wieder um?

%1 ist jener parameter, den Du mit dem Aufruf Deines Batches mitgibst, also bei

c:\meinbatch.bat DAS\_IST\_EIN\_PARAMETER

wäre %1 „DAS_IST_EIN_PARAMETER“

Also würde Dein Umbenennungsbatch in etwa so aussehen

ren %1 %2

Wobei hier Dein Batch lediglich eine „Wolke“ über den Befehl REN wäre.

So, und nun gehst Du in die Windowshilfe und suchst nach dem Ausdruck „Batchdatei“ ein und hantelst Dich da mal durch …

Grüße,
Tomh

Ich glaub ich habs so langsam, der code jetzt nur zum hin- und herbenennen:

ren %1 test.txt
ren test.txt %~n1.txt

Wenn ich die Datei auf die bat ziehe benennt er es schonmal in test.txt um, egal wie sie heisst, aber das zurück benennen geht nicht. Fehler:

„ren test.txt drht.txt
Das System kann die angegebene Datei nicht finden.“

Welche, die test.txt? Die is definitiv da, hab zwischen den Zeilen immer ein Pause-Befehl um zu sehen ob er es umbenennt, und er macht es, erst dann lasse ich ihn weiter machen.

Edit: Ich hab mal zum testen folgende Zeile dazwischen gefügt:

move bla.txt „T:\Konstruktion\ProE\tbgast2\Neuer Ordner\bla“

Die Zeile alleine in einer anderen .bat funktioniert, zwischen dem hin- und herbenennen kommt der gleiche Fehler wie bei der letzten Zeiel.

Glaub mir, ich hab mir schon einiges an Hilfen und Tutorials durchgelesen, und wie du an meinen letzten Antworten siehst verlass ich mich nicht alleine auf eure Hilfe, ich versuch das schon auch selbst raus zu bekommen, ich versteh den ganzen Kram halt nur nich wirklich. :frowning:

Ich habs, man muss bei dem ren Befehl den kompletten Pfad angeben, ich dachte wenn kein Pfad angegeben ist nimmt er dafür das Verzeichnis in dem die .bat ausgeführt wird.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]