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

Skalierung per Batch-Befehl?

Skalierung per Batch-Befehl?: Moin Moin alle zusammen, ich habe schon im Internet gesucht, habe dort aber nichts verstanden. Ich möchte mir eine Batchdatei schreiben, welche beim Ausführen meinen Bildschirm auf 125% skaliert. Könnt ihr mir helfen? Ich weiß, dass es geht, ich verstehe es nur nicht. LG und vielen Dank im...

Windows 10 Support 12. April 2022

Wo setzt Windows 10 die Set Befehle, prompt= zum Beispiel?

Wo setzt Windows 10 die Set Befehle, prompt= zum Beispiel?: Wo setzt Windows die Set Befehle? Ich möchte eine schreiben die immer aktiv sein soll. prompt ist zum Beispiel die bekannteste. Wo werden die für die Eingabeaufforderung festgelegt? danke https://www.gutefrage.net/frage/wo-setzt-windows-10-die-set-befehle-prompt-zum-beispiel-2

Windows 10 Support 27. Oktober 2021

Dieser command prompt (cmd) Befehl geht nicht, warum?

Dieser command prompt (cmd) Befehl geht nicht, warum?: bcdboot C:\windows /s N: /f UEFI bcdboot "System* /s N (Bootpartition - Efi 100 MB, Buchstabe zugewiesen) https://www.gutefrage.net/frage/dieser-command-prompt-cmd-befehl-geht-nicht-warum

Windows 10 Support 31. Juli 2021

Batch Befehl um Datei zu entpacken und sie dann kopieren und einzufügen?

Batch Befehl um Datei zu entpacken und sie dann kopieren und einzufügen?: Hallo, ich möchte gerne .zip Dateien per Batch Datei entpacken und dann den entpackten in einem anderen Ordner einfügen um zu überschreiben. Und das muss mit einer .bat Datei geschehen um das dann mit der Aufgabenplanung (bei Windows vorinstalliert) automatisch zu machen. Ich habe 7-Zip auf dem...

Windows 10 Support 25. Februar 2021

Ordner per Batch- Befehl in Autostart kopieren?

Ordner per Batch- Befehl in Autostart kopieren?: Hallo, ich würde gerne mithilfe eines Batch Befehls einen Ordner bsp.: "test" in den Autostart kopieren. Das habe ich zwar schon geschafft, nur leider führt er sich nicht aus beim Anmelden, was er ja eigentlich tun sollte. Danke im vorraus...

Windows 10 Support 2. Oktober 2020

Leeren Ordner in Ordner erstellen Batch Befehl?

Leeren Ordner in Ordner erstellen Batch Befehl?: Hallo, Frage steht oben; ich will z.B. im Desktop einen Ordner erstellen lassen per Batch- Befehl. https://www.gutefrage.net/frage/leeren-ordner-in-ordner-erstellen-batch-befehl

Windows 10 Support 2. Oktober 2020

Batch Befehl um Ordner zu löschen?

Batch Befehl um Ordner zu löschen?: Hallo, ich habe ein Script in dem ich gezielt Ordner löschen möchte, allerdings habe ich viele Befehle ausprobiert und bis jetzt hat keiner funktioniert. Falls es ein Befehl gibt der alle Ordner auf dem PC löscht wäre das noch besser, ich gehe aber mal davon aus dass es einen solchen Befehl...

Windows 10 Support 2. Oktober 2020

Probleme mit dem DOS-Befehl "ren" in Batch-Dateien

Probleme mit dem DOS-Befehl "ren" in Batch-Dateien: Hallo Community! In meinem Windows 10 1909 ist die cmd.exe mit dem Zeitstempel 20.01.2020 17:01 und der Versionsnummer 10.0.18362.449 enthalten. Eine Batch-Datei mit dem Befehl "ren Test.txt Test_%date:~6,4%_%date:~3,2%_%date:~0,2%__%time:~0,2%.%time:~3,2%.%time:~6,2%.txt" gibt einen...

Windows 10 Support 1. Februar 2020

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

Andere User suchten nach Lösungen mit:

  1. batch cmd nicht anzeigen

    ,
  2. cmd 10101010

    ,
  3. for skip geht nicht batch

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Information ausblenden