PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei per batch datei umbenennen


Dexxx
16.01.2012, 11:07
Hallo

Ich habe wieder mal ein Problem und finde den Fehler einfach nicht.
Mein Ziel ist es, eine Datei umzubenennen.

Sollte doch normal ganz einfach gehen mit ...

if exist "Pfad\dateiname-alt\" ren "Pfad\dateiname-alt\" "Pfad\dateiname-neu\"

Das klappt nicht.
Ich bekomme einen Syntaxfehler.

Könnt ihr mir bitte helfen?
Pfad usw stimmt 100%, habs schon 5 mal überprüft und alles selber per Hand neugeschrieben.

Vielen Dank


gargyle
16.01.2012, 11:23
RENAME [Laufwerk:][Pfad]Dateiname1 Dateiname2


-> Der zweite Datename hat keine Pfad-Angabe

Firefall
16.01.2012, 12:06
RENAME [Laufwerk:][Pfad]Dateiname1 Dateiname2


-> Der zweite Datename hat keine Pfad-Angabe
>help rename
Renames a file or files.

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

Note that you cannot specify a new drive or path for your destination file.

Jep. Alternativ könntest du statt rename move verwenden.

Dexxx
16.01.2012, 13:03
Hi

Ich komm nicht auf den Fehler.

Testweise habe ich ich jetzt versucht, die Datei in einen temporären Ordner zu speichern lassen und dann in den benötigten Ordner zu verschieben.
Das hat einwandfrei geklappt.

Hängt das vielleicht damit zusammen, dass die Datei bereits existiert ....
Also das Ganze schaut so aus, eine neuere Datei mit dem gleichen Dateinamen soll in den Ordner kopiert werden.
Das sieht hier fürs Forum in verkürtzen Zeilen so aus ....

Im Ornder befindet sich eine alte Datei, die hier im Beispiel den Namen datei.exe trägt.
Auf dem server befindet sich die neue Version der datei.exe

wget.exe URL/datei.exe "Pfad\datei1.exe"
if exist "Pfad\datei1.exe" del "Pfad\datei.exe" & ren "Pfad\datei1.exe" "Pfad\datei1.exe"

Ich verwende nicht das "normale" wget, daher kann ich angeben, wie die Datei bereits während dem Download schlussendlich heißen soll.

Genau das Umbenennen klappt nicht mehr.
Merkt sich das Script, dass sich bereits eine Datei mit dem Namen in dne Ordner befindet und kann daher nicht mehr umbenennen, obwohl die zwischenzeitlich gelöscht wurde?

Ich verzweifel noch.
Als Notlösung habe ich mit dem temporärem Ordern kein Problem.
Dateien habe ich schon des öfteren umbenennen lassen, jedoch hatte die immer einen anderen Dateinamen dann...

gargyle
16.01.2012, 13:31
Wer meckert den jetzt ?

Wget oder REN ?

if exist "Pfad\datei1.exe" del "Pfad\datei.exe" & ren "Pfad\datei1.exe" "Pfad\datei1.exe"

Hier stimmt doch was nicht !

Du schaust ob "Pfad\datei1.exe" und löschst dann "Pfad\datei.exe" ????

Muss es nicht dann eher "Pfad\datei1.exe" heissen ?

oder
ren "Pfad\datei1.exe" "datei.exe"

burnout
16.01.2012, 16:19
ren datei.exe datei.com meine Güte ey!

Gruß

German
16.01.2012, 20:49
Du kannst auch MOVE nutzen. Dann ersparst du dir das Löschen (da die Datei überschrieben wird). Außerdem kannst du dann den Pfad an Quelle und Ziel beibehalten, da dir diese Syntax scheinbar mehr liegt.

Dexxx
17.01.2012, 00:24
Hi

Ich habe es jetzt mit move aus dem temprären Ordner gemacht.
Anders ist es nicht gegangen, weiß der Teufel warum.
Vermute mal, da das Script ja vorraus Arbeitet, wird es sich schon den Dateinamen, welcher zwar gelöscht wird, gemerkt haben ... was weiß ich.

Mit dem temporären Ordner, dann move klappt alles einwandfrei.
Und ja, oben in meinem code gehört das zweite ...

if exist "Pfad\datei1.exe" del "Pfad\datei.exe" & ren "Pfad\datei1.exe" "Pfad\datei1.exe"

Das habe ich bei mir schon richtig, war nur hier ein Fehler von mir.

Garyle, ich hab alles mögliche probiert.
Auch mit nur .. ren "Pfad\datei1.exe" "datei.exe"
Immer Syntaxfehler beim rename


Vielen Dank für eure Hilfe.