WinFuture-Forum.de: Batch: Befehl geht in der Kommandozeile, nicht aber in der Batch - WinFuture-Forum.de

Zum Inhalt wechseln

Windows 10: Alle News, der Download sowie zahlreiche Screenshots und Videos zum neuen Betriebssystem von Microsoft. Jetzt im WinFuture Windows 10 - Special informieren!
Seite 1 von 1

Batch: Befehl geht in der Kommandozeile, nicht aber in der Batch Löschen aller Dateien ausser die jüngsten 3


#1 Mitglied ist offline   MaWiTi 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 23. August 18
  • Reputation: 0

geschrieben 23. August 2018 - 20:50

Hallo alle zusammen
Ich muss/kann/darf/will eine Batch schreiben, welche alle Dateien ausser die letzten 3 (jüngstes Datum/Zeit) löscht.
Folgendes habe ich geschrieben:

c:
cd "\0Muell\0EisenbahnFotos\ZwischenLager"

pause

echo Zur Kontrolle der Dir Befehl
dir /a-D /o-d /b *.*

pause

rem folgender Befehl geht in der Eingabeaufforderung, nicht aber in der Batch. Warum?
for /f "skip=3 delims=" %i in ('dir /a-D /o-d /b *.*') do Del "%~i"

pause



Leider kracht die Batch immer genau auf der For Zeile. Wenn ich diese jedoch als einzige, alleine in eine Kommandozeile kopiere, dann funktioniert sie.

Was kann da falsch sein?

Vielen Dank für jegliche Hinweise...
0

Anzeige

#2 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 33
  • Beigetreten: 12. Februar 13
  • Reputation: 1

geschrieben 23. August 2018 - 21:44

Im Batch-File muss immer %% anstatt % geschrieben werden (%%i)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0