Löschen Sie alle Dateien im Ordner mit Ausnahme der Dateien mit einem bestimmten Präfix

4

Ich habe einen Ordner, der von einer Anwendung mit automatisch generierten Dateien gefüllt wird. Dort werden CSV- und PNG-Erweiterungen erstellt und gespeichert. Wir müssen alle Dateien im Ordner löschen, mit Ausnahme bestimmter PNG-Dateien, deren Dateiname mit "abc-" beginnt. Das System ist eine Windows Server 2012 R2-Box, und das Ziel ist, dass dies jede Nacht über eine Batchdatei mit dem Taskplaner erfolgt.

Ich habe versucht, ein paar verschiedene Skripte zu verwenden, die vorab geschrieben wurden, aber ich würde diese vorangestellten PNG-Dateien nicht ausschließen, sondern nur alle entfernen. Wie würde ich das machen?

Joel Stockley
quelle

Antworten:

1

Kannst du es mit Powershell versuchen? So etwas wie:

$path = "C:\site\temp"
gci -Path $path | ? {!($_.Name -ilike "abc-*.png")} | % { Remove-Item -Path $_.FullName }
xXhRQ8sD2L7Z
quelle
Wie kann ich festlegen, dass dies nur für den bestimmten Ordner gilt (dort gibt es keine Unterordner), wenn ich sage, dass dies in C: \ Scripts gespeichert werden soll, der Ordner, für den Maßnahmen ergriffen werden müssen, jedoch C: \ site \ temp \ ist?
Joel Stockley
Ich habe $pathdas oben hinzugefügt, damit Sie das Skript von jedem Ordner aus ausführen können.
xXhRQ8sD2L7Z
0

Mit Batch können Sie das folgendermaßen machen:

@Echo OFF 

For %%# In ("*.*") DO (
    If /I "%%~x#" EQU ".png" (
        (Echo "%%~n#"| Findstr "^abc-")1>nul 2>&1 || (
            Del /Q "%%~#"
        )
    )
)


Pause&Exit

Ich iteriere alle Dateien (die eine Erweiterung haben). Wenn die Datei die Erweiterung ".png" hat, prüfe ich, ob der Dateiname mit "abc-" beginnt, um ihn auszuschließen.

Bitte sichern Sie Ihren Ordner vor dem Testen.

ElektroStudios
quelle
0

Sichern Sie vor dem Testen auch den Inhalt des Ordners, an dem Sie arbeiten.

Erster Schritt: Erstellen Sie ein Unterverzeichnis unter dem betreffenden Ordner.
Schritt 2: Verschieben Sie die zu speichernden Dateien in dieses Unterverzeichnis.
Schritt drei: Löschen Sie alle im Ordner verbleibenden Daten.
Schritt 4: Verschieben Sie die Dateien aus dem Unterverzeichnis zurück in den Ordner.
Fünfter Schritt: Löschen Sie das Unterverzeichnis.
Schritt Sechs: Sehen Sie, was Sie haben.

Ein einfaches Skript folgt.

REM C:\SCRIPTS\MOVERPNG.CMD
C:
ECHO OFF
CLS
CD \SITE\TEMP 
MD BAR  
MOVE /y ABC-*.PNG \SITE\TEMP\BAR  
DEL /y *.PNG  
DEL /y *.CSV  
CD BAR  
MOVE *.PNG C:\SITE\TEMP 
CD ..  
RD /q BAR
ECHO MOVERPNG has completed.
DIR *.* /P /O:N 
K7AAY
quelle