Dateien mit Fragezeichen im Namen umbenennen

Nun, ein schlauer Downloadmanager hat sich anscheinend ziemilch dämlich angestellt:
beim Finden eines Namens ging er anscheinend nach dem Schema
PHP:
name = $(echo $url | egrep "[^/]+$")
vor.
Mit von PHP-Skripten gelieferten Dateien verträgt sich das naturgemäß nicht so gut und jetzt habe ich Dateien mit solchen Namen (teils anonymisiert):
.pdf?dokNo=12345678&lfdNo=1&sid=DEADBEAFDEADBEAFDEADBEAFDEADBEAF&target=dpwt.req%2FDok_Nr._1_vom_31.12.2099123456

Dass ein ordentliches Betriebssystem[tm] keine Probleme hat, solche in einem NTFS-Dateisystem unerlaubten Zeichen zu behandeln, weiß ich.
Gibt es auch Windows-Bordmittel, die mich davon befreien können? Schwer vorstellbar, aber man soll ja nie nie sagen.
Sogar die Powershell versagt jedenfalls sogar...

PHP:
Get-ChildItem : Illegal characters in path.
At line:1 char:4
+ dir <<<< 
    + CategoryInfo          : InvalidArgument: (K:\Das\Verzeichnis\Mit\dem\Zeug:String) [Get-ChildItem], ArgumentException
    + FullyQualifiedErrorId : DirArgumentError,Microsoft.PowerShell.Commands.GetChildItemCommand

Edit:
Cygwin meint:

mv: cannot stat `.pdf?dokNo=12345678&lfdNo=1&sid=DEADBEAFDEADBEAFDEADBEAFDEADBEAF&target=dpwt.req%2FDok_Nr._1_vom_31.12.2099123456': No such file or directory
 
mach mal ein \ vor das ? in cygwin
in der windows shell gibts bestimmt auch ein escape-zeichen, googeln kannst du aber selbst :)
 
Original von keksinat0r
mach mal ein \ vor das ? in cygwin
in der windows shell gibts bestimmt auch ein escape-zeichen, googeln kannst du aber selbst :)

Ans Escapen (brrr) denkt die Shell beim automatischen Vervollständigen schon selbst.


Die genauen Worte waren:
PHP:
# (kein PHP)
$ mv ".pdf\?dokNo\=12345678&lfdNo\=1\&sid\=DEADBEAFDEADBEAFDEADBEAFDEADBEAF\&target\=dpwt.req%2FDok_Nr._1_vom_31.12.2099123456" ~/besserername.pdf
mv: cannot stat `.pdf?dokNo=12345678&lfdNo=1&sid=DEADBEAFDEADBEAFDEADBEAFDEADBEAF&target=dpwt.req%2FDok_Nr._1_vom_31.12.2099123456': No such file or directory

Edit @keksinator

mv .pdf* /ein/verzeichnis hab ich auch schon versucht - klappt auch nicht ):
Und würde dieser Ansatz nicht alles in einer Datei hintereinanderhängen?

Andere Ansätze als cygwin?
 
Zurück
Oben