raketenschnecke
Goto Top

batch-fehler bei Sonderzeichen in Dateinamen

Hallo in die Runde,

ein cmd-unerfahrener Dau sucht Experten-Rat zum Thema Sonderzeichen in Dateinamen face-smile

ich habe mir eine Batch-Datei gebastelt, die per wget alle paar Minuten bestimmte Dateien aus dem Netz saugt, in einem Temp-Ordner ablegt, anschliessend umbenennt und dann in einen anderen Ordner verschiebt (archiviert).
Das klappte ganz gut.
Heute habe ich aber festgestellt, dass Sonderzeichen in den Dateinamen auftauchen und mein Script damit nicht umgehen kann.
Beispiel: getimg.php@src=%2FWarnungen%2FDL00_O.jpg

mein Script sieht so aus (Auszug):

ren "D:\Pfad....\getimg.php@src=%2FWarnungen%2FDL00_O.png" warnings.gif  

Ich vermute, dass das Script die Inhalte zwischen den %-Zeichen als Variable interpretiert ?
Ich such mir nun schon einen Wolf, finde aber keinen rechten Lösungsansatz (mag auch an meinen rudimentären Kenntnissen liegen).
Kann mir jemand einen Tipp geben, wie eine Umbenennung trotz der Sonderzeichen funktioniert ?

Besten Dank

Content-Key: 119702

Url: https://administrator.de/contentid/119702

Printed on: April 20, 2024 at 03:04 o'clock

Member: TsukiSan
TsukiSan Jul 03, 2009 at 14:59:55 (UTC)
Goto Top
Hallo Jobiwan,

Nein! die Zeichen zwischen den Sonderzeichen werden nicht als Variable erkannt, da alles als String in " gesetzt ist. Die gesamte Pfadangabe stimmt nicht und dein Programm kann die genaue Datei nicht finden.

Gruß
Tsuki
Member: miniversum
miniversum Jul 03, 2009 at 16:02:57 (UTC)
Goto Top
Versuchs mal entweder indem du jedes % durch %% ersetzt
oder indem du jedes % durch ^% ersetzt.
Member: Raketenschnecke
Raketenschnecke Jul 03, 2009 at 16:33:54 (UTC)
Goto Top
Treffer !

hab mich für Deine Variante 1 entschieden, hat auf Anhieb geklappt !

*breitgrins*

Besten Dank für die schnelle und kompetente Hilfe face-smile

(neugierig wie ich bin hab ich auch Variante 2 probiert: klappt nicht, er findet die Datei nicht...)
Mitglied: 77559
77559 Jul 03, 2009 at 16:37:04 (UTC)
Goto Top
Hallo Jobiwan,

  • den relevanten Teil deiner Batchdatei solltest du posten.
  • Was wget als URL bekommt, ist nicht zwangsweise das was er abspeichert.
  • Wenn du per wget in ein leeres Verzeichnis speicherst, brauchst du nur sehen was da ist.
  • Eine png Bilddatei kannst du nicht einfach als gif umbenennen.

Gruß
LotPings
Member: Raketenschnecke
Raketenschnecke Jul 03, 2009 at 17:19:37 (UTC)
Goto Top
Zitat von @77559:
Hallo Jobiwan,

  • den relevanten Teil deiner Batchdatei solltest du posten.
  • Was wget als URL bekommt, ist nicht zwangsweise das was er
abspeichert.
  • Wenn du per wget in ein leeres Verzeichnis speicherst, brauchst du
nur sehen was da ist.
  • Eine png Bilddatei kannst du nicht einfach als gif umbenennen.

Gruß
LotPings

Hi LotPings,

mit
> * Was wget als URL bekommt, ist nicht zwangsweise das was er
abspeichert.
hast Du absolut Recht.
Mir gings hier aber nicht um die Inhalte der Dateien sondern ausschliesslich um die Benamsung der Files (nicht der Dateiendung). Dass eine Umbenennung von .png zu .gif -wie hier- funktioniert ist vielleicht eher Zufall (und war nicht gewollt), hat aber andere Gründe. Und da es funktioniert lass ich es erstmal so face-smile
Mitglied: 77559
77559 Jul 03, 2009 at 17:43:30 (UTC)
Goto Top
Zitat von @Raketenschnecke:
> * Was wget als URL bekommt, ist nicht zwangsweise das was er
> abspeichert.

hast Du absolut Recht.
Mir gings hier aber nicht um die Inhalte der Dateien sondern
ausschliesslich um die Benamsung der Files

Mir auch, wenn die URL ein php script anspricht, taucht das sicherlich nicht im Dateinamen auf. Aber du keine weiteren Infos gibst hast du dein Problem wohl schon gelöst.

Gruß
LotPings