2.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo Leute,
ich habe eine Batchdatei unter Win Vista, die als Übergebeparameter einen Dateinamen samt Pfad bekommt. Nun habe ich folgenden Codeteil:

set filename=%1
REM entfernt Quots
set filename=%filename:"=%
REM umbenennen
ren "%filename%" "%filename%~tmp.mp3"

Leider kommt beim Umbenennen ein Syntaxfehler, da ich ja einen ganzen Pfad als neuen Namen eingebe... Wie kann ich das umgehen oder ändern? Oder wie kann ich in das Verzeichnis wechseln, wenn ich nur den ganzen Pfad habe?

4 Antworten

0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
bei variable %1 ist:
%~n1 nur Dateiname
%~p1 nur der Pfad
rename braucht
[Laufwerk:][Pfad]Dateiname1 Dateiname2

Wenn ich Dich richtig verstehe, brauchst Du sowas wie
rename %1 %~n1_tmp.mp3
0 Punkte
Beantwortet von hosteddiner Einsteiger_in (5 Punkte)
Cool ja das war genau das was ich gesucht habe, das wird aber irgendwie nirgends auf Hilfeseiten erwähnt...
0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
ich hab auch mal testweise im Internet gesucht, und war selbst überascht, daß ich nicht sofort was dazu gefunden habe.

Die windows hilfe ist da recht vollständig. Der Artikel heisst "Verwenden von Batchparametern".
Man kommt zB. dahin, wenn man nach "batchparameter" sucht.

(Ich nehms aber keinem übel, wenn man da nicht von selbst drüber stolpert.)

Die Hilfe erreicht man im Startmenu "Hilfe und Support".
Oder durch F1 drücken (wenn kein anderes Programm aktiv ist)
(Windows XP)
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
In diesem Fall hätte auch dieses Konsolenkommando genügt, um an die nötige Dokumentation zu kommen:
HELP FOR
...