Kommandozeilen Befehl in Batch nicht, am Prompt schon

Helfe beim Thema Kommandozeilen Befehl in Batch nicht, am Prompt schon in Windows 10 Support um eine Lösung zu finden; Hallo alle zusammen Ich habe eine Kommandozeile: for /f "skip=3 delims=" %i in ('dir /a-D /o-d /b *.*') do Del "%~i" Damit will ich alle Dateien... Dieses Thema im Forum "Windows 10 Support" wurde erstellt von MarkusWinter, 21. August 2018.

  1. MarkusWinter
    MarkusWinter Gast

    Kommandozeilen Befehl in Batch nicht, am Prompt schon


    Hallo alle zusammen


    Ich habe eine Kommandozeile:


    for /f "skip=3 delims=" %i in ('dir /a-D /o-d /b *.*') do Del "%~i"


    Damit will ich alle Dateien löschen, ausser den jüngsten drei.

    Das geht auch am Promt.


    Wenn ich den Befehl aber in einer Batch laufen lasse, bricht die Batch bei dem Befehl ab ohne etwas zu tun.


    a) was mache ich mit dieser Zeile falsch

    b) gibt es eine bessere Methode alle Dateien ausser den jüngsten drei zu löschen?


    Vielen Dank für Infos.

    Weiterlesen...
     
    #1 MarkusWinter, 21. August 2018
  2. Hobi Expert
    Willkommen,

    Die folgenden Tipps sollten helfen:
  3. Dumba_M3
    Dumba_M3 Gast

    Du startest die Batch Datei vom Desktop in einem Text?

    Ist die zugewiesene Partition die gleiche?

    Willst du direkt auf eine Partition zugreifen, oder eine Datei, oder eine Bibliothek?
     
  4. Ingo Böttcher
    Ingo Böttcher Gast
    Setz in die Batch-Datei einen Pause-Befehl, damit du siehst, was da konkret passiert.

    Verwende statt des del Befehls einen echo Befehl, um dir anzeigen zu lassen, was in der Batch tatsächlich aufgerufen wird.

    Besser Methoden als Batch gibt es viele, die einfachste dürfte Powershell sein. ;-)
     
    #3 Ingo Böttcher, 21. August 2018
  5. MarkusWinter
    MarkusWinter Gast
    Guten Morgen,

    Vielen Dank für Deine Antwort.

    Ich habe die Batch auf einem Netzwerklaufwerk von dort aus starte ich sie.

    Habe die Batch jetzt auf den relevanten Befehl reduziert.

    Folgende 10 Befehle beinhaltet sie:

    c:

    cd "\0Muell\0EisenbahnFotos\ZwischenLager"

    pause

    dir /a-D /o-d /b *.*

    echo jetzt kommt der Löscher...

    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"

    echo und, gelaufen?

    pause

    Die Batch läuft bis zur Zeile for und dort verschwindet das Kommandozeilenfenster.... ohne dass ich irgend eine Fehlermeldung sehen könnte...

    Die erstem beiden Pausen werden angezeigt inkl dir welcher 20 Dateien listet und echo... aber die For Schlaufe kracht...
     
    #4 MarkusWinter, 22. August 2018
  6. NTB
    NTB Gast
    Was passiert bei folgendem in der Kommandozeile?
    ping 8.8.8.8
     
  7. MarkusWinter
    MarkusWinter Gast
    Hallo Ingo, vielen Dank für Deine Info.

    Trotz Pause erkenne ich nichts. Er pausiert vor der for Schleife und danach verschwindet das Fenster...

    Die Pause nach der For Schleife wird nicht mehr abgearbeitet.

    Den del durch Echo ersetzt habe ich auch schon. Gleiches Ergebnis. Wenn ich die Zeile

    for /f "skip=3 delims=" %i in ('dir /a-D /o-d /b *.*') do Del "%~i"

    oder

    for /f "skip=3 delims=" %i in ('dir /a-D /o-d /b *.*') do echo "%~i"

    in die Kommando Zeile rein kopiere, dann läuft sie und macht was sie soll. Aber in einer Batch verschwindet das Kommandozeilenfenster...

    Ich heisse zwar nicht "Rudi", aber ratlos bin ich dennoch.... ;-) (in Anlehnung an den Satz: Rudi Ratlos)

    hmm... powershell, dann müsste ich ja die ganze Batch nur wegen dem einen Befehl umschreiben... hmm... habe noch nie mit der Powershell gearbeitet... keine Ahnung...

    Vielen Dank für Ideen
     
    #6 MarkusWinter, 22. August 2018
  8. MarkusWinter
    MarkusWinter Gast
    Zusatzfrage anderes Thema...

    Hallo zusammen,

    Wo bitte stelle ich ein, dass die Nachrichten hier in einer Baumstruktur angezeigt werden?

    Bei mir erscheinen alle Nachrichten chronologisch untereinander. Das verwirrt mich beim Lesen. Wüde gerne einstellen, dass eine Antwort unmittelbar hinter der entsprechenden Frage steht. Geht das? Habe schon gesucht... aber ick nix finden...

    Danke für "Bäumige" Antworten
     
    #7 MarkusWinter, 22. August 2018
  9. Ingo Böttcher
    Ingo Böttcher Gast

    Kommandozeilen Befehl in Batch nicht, am Prompt schon

    Die Pause nach der For-Schleife wird gar nicht erst abgearbeitet? Hmm... spontan keine Idee, was da schief läuft. Da müsste er ja irgendwo abbrechen.

    Dein dir Befehl dürfte m.E. auch falsch sein. dir /a-D /o:d /b *.* sollte es heißen, wenn die Hilfe zum Parameter /o richtig ist.

    Naja, Powershell ist in vieler Hinsicht einfacher und logischer. Ist meist schon einen Blick wert.

    Code:
    $Pfad="C:\0Muell\0EisenbahnFotos\ZwischenLager"
    
    $Dateialter=-7
    
    Get-Childitem $Pfad | Where {$_.LastWriteTime -lt (Get-Date).AddDays($Dateialter) -and -not $_.PsIsContainer} | Remove-Item $_.FullName -Force
    
    
    Löscht im definierten Pfad Dateien älter $Dateialter. Im Beispiel also älter sieben Tage. Nur mal eben so als ungetesteter Einzeiler.

    Baumansichten gibts hier im Forum nicht.
     
    #8 Ingo Böttcher, 22. August 2018
  10. 10101010
    10101010 Gast
    ich hab uns mal ne batch geschrieben damit das geht(auf win7 getestet).
    am besten die batch über die aufgabenplanung laufen lassen, wie schon oben erwähnt.

    ich habe dein quell und ziel pfad dazu genutzt. fals du es mal ändern willst, must du an allen 4 stellen
    in der batch dementsprechend austauschen.
    ansonsten ist noch wichtig, das die batch nur auf deutschem windows funktioniert, da
    bei mir die cmd textausgabe eines befehls in deutsch ist und die batch diese ausgabe verarbeitet.
     
  11. MarkusWinter
    MarkusWinter Gast
    Hallo Ingo,

    vielen lieben Dank für Deine Zeilen welche älter 7 Tage löschen. Ich möchte aber unabhängig vom Datum nur die jüngsten 3 Dateien aufbewahren. Das kann sein, dass alle drei Dateien von heute sind, kann aber auch eine von heute und zwei von gestern sein.

    Meine Batch habe ich mittlerweile etwas demontiert und nur noch die unten stehenden 6 Zeilen mit 3 Pausen drinn um zu versuchen den Fehler einzugrenzen. Krachen tut es in der Zeile mit for /f

    Der Dir Befehl habe ich etwas weiter oben separat aufgeführt (copy) und der funktioniert.

    Spannend ist ja auch, wenn ich die for Zeile in ein Kommandozeilenfenster rein kopiere, dann tut die Zeile genau was sie soll. Aus den dort enthaltenen Dateien werden alle bis auf die jüngsten drei gelöscht.

    Nur wenn die Zeile in einer Batch steht, dann kracht es...

    Vielen Dank für jegliche Informationen welche zum Löschen aller Dateien ausser den jüngsten drei führen...

    Viele Grüsse.
     
    #10 MarkusWinter, 23. August 2018
Thema:

Kommandozeilen Befehl in Batch nicht, am Prompt schon

Die Seite wird geladen...

Kommandozeilen Befehl in Batch nicht, am Prompt schon - Ähnliche Themen - Kommandozeilen Befehl Batch

Forum Datum

Batch Datei öffnen

Batch Datei öffnen: Hallo, ich hätte da mal eine Frage! Ich möchte eine Batch Datei starten/öffnen, allerdings wird dieser Text bei mir angezeigt "Diese App kann auf dem Pc nicht ausgeführt werden. Wenden Sie sich an den Softwareherausgeber, um eine geeignete Version für Ihren Pc zu finden." Kann mir da...

Windows 10 Support 2. April 2019

Befehl "Herunterfahren"

Befehl "Herunterfahren": Hallo zusammen, mir ist aufgefallen, dass Cortana den Befehl "Herunterfahren" wohl nicht ausführen kann. Sobald ich diesen Befehl per "Hey Cortana" angeben möchte, schält Cortana auf Englisch um und bittet mich, den Befehl zu bestätigen. Antworte ich Cortana nun mit "Ja" oder "Yes", bekomme...

Windows 10 Support 31. Oktober 2017

Spracherkennung reagiert nicht auf Befehle

Spracherkennung reagiert nicht auf Befehle: Ich habe ein Problem mit der eingebauten Spracherkennung in Windows 10: Der diktierte Text wird zwar prima erkannt, nicht aber die Befehle. Wenn ich z.B. sage "Das hier korrigieren" oder "Das hier rückgängig machen", bekomme ich die Anzeige "Dieser Befehl ist nicht verfügbar". Wer weiß Rat?...

Windows 10 Support 7. Juli 2017

Befehl PRINT

Befehl PRINT: In der CMD- DOS Ebene funktioniert der Befehl "PRINT" nicht. Es kommt immer die Fehlermeldung: "Gerät PRN konnte nicht initialisiert werden." Was kann ich tun? Weiterlesen...

Windows 10 Support 29. März 2017

ausführen von kommandos vor und nach Installation mit batch?

ausführen von kommandos vor und nach Installation mit batch?: Hey Leute, für die Installation eines Programms auf einem ThinClient benötige ich eine simple Batch, um einen Prozess zu automatisieren. Da der RamDisk (Z:/) des ThinClients recht gering ist und auf diesem der TEMP-Ordner liegt, möchte ich temporär die Temp-Ordner auf Laufwerk C: erstellen,...

Windows 10 Support 13. Februar 2017

Batch mit einem Autologin an einen anderen PC

Batch mit einem Autologin an einen anderen PC: Hallo Community, ich habe des öfteren zuhause die Situation das ich ich auf einen anderen Rechner aufschalten möchte. ich dachte mir ich kann dafür eine batch schreiben... Ich habe folgenden Ansatz gehabt: %windir%\explorer.exe \\ipAdresse /-das ist kein Problem user@Benutzername:...

Windows 10 Support 7. November 2016

Bitlocker Boot Prompt verschwunden

Bitlocker Boot Prompt verschwunden: Seit dem kumulativen Windows 10 Update Juli 2016 wird die Bitlocker Eingabeaufforderung nicht mehr angezeigt. Statt dessen nur ein leerer Bildschirm mit der Hintergrundfarbe, die die Eingabeaufforderung sonst gehabt hätte (siehe Foto). Es ist ganz klar ein Anzeigefehler. Ich kann nämlich mein...

Windows 10 Support 16. Juli 2016

Befehl "Rename" ist sehr langsam!

Befehl "Rename" ist sehr langsam!: Ich habe ein Dell Notebook E5540 mit Win 10 und 8 GB RAM. Während sonst alles flott läuft, dauert die Namensänderung einer Datei seit einigen Wochen ca. 5 Sekunden, was etwas nervig ist. Ich habe noch ein zweites Dell Notebook mit Win 10 und 4 GB RAM, hier geht die Namensänderung normal...

Windows 10 Support 10. April 2016

Kommandozeilen Befehl in Batch nicht, am Prompt schon [gelöst]

Andere User suchten nach Lösungen mit:

  1. echo befehl dos kommt nicht klar

    ,
  2. echo befehl in batch datei

    ,
  3. batch nicht anzeigen

    ,
  4. kommandozeile echo nicht anzeigen