Dateien per CMD in Schleife löschen?

dinoldo

Cadet 4th Year
Registriert
Juni 2017
Beiträge
104
Hallo Leute,

ich habe wie folgt per BAT-Datei folgende Dateien löschen können:

set STANDORT=DE-PAD01
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\dkfl.p3d"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN10.xls"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN15.xls"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN20.xls"


Ich habe aber viele anderen Standorte, an dem auch die gleiche Dateien gelöscht werden sollen. Wie mache ich da bitte in einer Schleife?

for i in DE-PAD01 FR-BIE16 DE-KAR04 AT-TRE01 DE-BER02 EN-HAT16 DE-ETT01 DE-GET01 DE-HAM01 DE-LUE16 DE-JUT02 DE-WUE03 DE-PAP05 HR-MUC12 DE-NIS01 DE-ZET07 DE-REG05 AT-WIE09; do

Beste Grüße,
Dino
 
wie wäre es mal mit Powershell?

oder in etwa so mit INI Datei

PUSHD %Pfad1%
For /F "delims=" %%i IN ('TYPE Speicher.txt') DO call :ProcessNext "%%i"
POPD
goto :eof

:ProcessNext Erster Parameter heißt dann %1, der zweite %2....
ECHO Quelldatei :%1
SET "Quelle=%~1"
SET "Ziel=%~1"
echo %Quelle% <=Leere Anzeige

START /min pdftk "%Stempel%" background "%Pfad2%%Quelle%" output "%Pfad3%%Ziel%"
goto :eof
 
Zuletzt bearbeitet:
Mit der FOR-Schleife hast Du den Namen des Standorts in der Variable i; daher willst Du innerhalb der Schleife Deine Standort-Variable damit befüllen:
set STANDORT=%i%
und danach Deine DEL-Kommandos ausführen.
Sollte so einfach sein.
 
  • Gefällt mir
Reaktionen: Hayda Ministral
@XN04113 mit PowerShell habe ich bis jetzt nie etwas gemacht. ;-) Sollte es mit Batch nicht funktionieren, werde ich den Vorschlag mit PS testen.

@Phrasendreher
Ich habe es wie folgt probiert, ohne Erfolg. Ist meine Reihenfolge evtl. nicht richtig oder liegt es an ) am Ende?

for i in DE-PAD01 FR-BIE16 DE-KAR04 AT-TRE01 DE-BER02 EN-HAT16 DE-ETT01 DE-GET01 DE-HAM01 DE-LUE16 DE-JUT02 DE-WUE03 DE-PAP05 HR-MUC12 DE-NIS01 DE-ZET07 DE-REG05 AT-WIE09; do

set STANDORT=%i%
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\dkfl.p3d"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN10.xls"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN15.xls"
del "P:\Mustermann\%STANDORT%\Daten\paramtrik\blocks\KFE_Entleerung_DN20.xls"
 
Hatte ganz vergessen, was für eine PITA Batch-Scripting ist...

Probier mal
for %%I in ("DE-PAD01" "FR-BIE16" "DE-KAR04" "AT-TRE01" "DE-BER02" "EN-HAT16" "DE-ETT01" "DE-GET01" "DE-HAM01" "DE-LUE16" "DE-JUT02" "DE-WUE03" "DE-PAP05" "HR-MUC12" "DE-NIS01" "DE-ZET07" "DE-REG05" "AT-WIE09") do ( echo %%I )

Und falls da die richtigen Zeichenketten ausgeworfen werden, nimm Deine DEL-Kommandos und ersetze %STANDORT% mit %%I - irgendwie so sollte es klappen.

PS: Ob die Anführungszeichen in der FOR-Schleife gebraucht werden oder nicht, musst Du einfach ausprobieren.
 
Zuletzt bearbeitet: (post scriptum)
for %%I in (DE-PAD01 FR-BIE16 DE-KAR04 AT-TRE01 DE-BER02 EN-HAT16 DE-ETT01 DE-GET01 DE-HAM01 DE-LUE16 DE-JUT02 DE-WUE03 DE-PAP05 HR-MUC12 DE-NIS01 DE-ZET07 DE-REG05 AT-WIE09) do (
echo %%I
)
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\dkfl.p3d"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN10.xls"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN15.xls"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN20.xls"


Echo von %%I wurde richtig ausgegeben. Die Anführungszeichen sind nicht notwendig.
Nur jetzt wird bei DEL %%I nicht erkannt bzw. ich bekomme folgendes:

C:\test>(echo DE-PAD01 )
DE-PAD01
C:\test>del "P:\Mustermann\%I\Daten\parametrik\blocks\dkfl.p3d"
Der Netzwerkpfad wurde nicht gefunden.
 
Ähm, die DEL-Kommandos müssten schon noch mit innerhalb der Klammern ausgeführt werden, damit sie mit jeder Schleifeniteration ausgeführt werden und das %%I darin korrekt interpretiert wird.

Glaub ich. Bin ziiiiemlich lange raus aus Batch-Scripting.
 
Jetzt passt es. Vielen herzlichen Dank!

for %%I in (DE-PAD01 FR-BIE16 DE-KAR04 AT-TRE01 DE-BER02 EN-HAT16 DE-ETT01 DE-GET01 DE-HAM01 DE-LUE16 DE-JUT02 DE-WUE03 DE-PAP05 HR-MUC12 DE-NIS01 DE-ZET07 DE-REG05 AT-WIE09) do (
echo %%I

del "P:\Mustermann\%%I\Daten\paramtrik\blocks\dkfl.p3d"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN10.xls"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN15.xls"
del "P:\Mustermann\%%I\Daten\paramtrik\blocks\KFE_Entleerung_DN20.xls"
)
 
Zurück
Oben