none
Problem mit forfiles und quote der Ausgabe (") RRS feed

  • Frage

  • Hallo,

    zunächst Entschludigung weil etwas off topic. Aber das erschien mir noch die Gruppe die am ehesten zu meiner Frage passt. (Stichwort Shell)

    Das Kommando forfiles liefert in den Ausgabevariablen @file und @path alle Werte in Hochkommas.
    Das macht es IMHO unmöglich mit diesem Kommando sinnvoll zu arbeiten.

    Wenn ich z.B. alle Dateien die älter als 5 Tage sind umbenennen möchte, wäre das entsprechende Kommando:
    forfiles /P C:\Files /M * /D -5 /C "cmd /C ren @file @file.old"

    Dadurch das die Ausgabe von @file in Hochkommas eingeschlossen ist, wird z.B. Kommando
    ren "Datei1.txt" "Datei1.txt".old
    generiert. (Das natürlich in der Form syntaktisch falsch ist)

    Die Frage ist, wie komme ich zu den Dateinamen ohne Hochkomma.

    danke
    Torsten

     

     

    Freitag, 28. Januar 2011 13:05

Antworten

  • Hi,

    ich habe dein Beispiel getestet und es macht IMHO genau das was es soll, es benennt z.b. die 8 Tage alte Datei test.txt in test.txt.old um.
    Wenn man statt ren ein echo in die Befehlzeile schreibt werden in der Tat Hochkommas angezeigt. Die Umbenennung funktioniert dann aber einwandfrei.

    Erklär doch bitte mal genau was du machen möchtest und was das von dir gewünschte Ergebnis ist.

    Im übrigen kann man übrigens mit Powershell (das Thema dieser Gruppe ;-) ) problemlos alles das machen was forfiles kann (und noch viel mehr) und zusätzlich jede nur denkbare Ausgabe erzeugen.

     

    Grüße, Denniver

    Freitag, 28. Januar 2011 17:37
    Moderator

Alle Antworten

  • Hi,

    ich habe dein Beispiel getestet und es macht IMHO genau das was es soll, es benennt z.b. die 8 Tage alte Datei test.txt in test.txt.old um.
    Wenn man statt ren ein echo in die Befehlzeile schreibt werden in der Tat Hochkommas angezeigt. Die Umbenennung funktioniert dann aber einwandfrei.

    Erklär doch bitte mal genau was du machen möchtest und was das von dir gewünschte Ergebnis ist.

    Im übrigen kann man übrigens mit Powershell (das Thema dieser Gruppe ;-) ) problemlos alles das machen was forfiles kann (und noch viel mehr) und zusätzlich jede nur denkbare Ausgabe erzeugen.

     

    Grüße, Denniver

    Freitag, 28. Januar 2011 17:37
    Moderator
  • Hi,

    da hab ich mich wohl ins boxhorn jagen lassen.
    ich wollte mir die ausgeführten Befehle nämlich sicherheitshalber erstmal mit "echo ren @file ..." anzeigen lassen.
    Und hab dann die Hochkommas gesehen.

    danke
    Torsten

    p.s.
    Es geht um eine Befehlszeile die Dateien und Verzeichnisse eines bestimmten Zeitraums mit robocopy verschiebt. "ren" war nur ein Beispiel.

    Montag, 31. Januar 2011 14:37