
42641
01.02.2007, aktualisiert am 05.02.2007
Batch datei für Verschieben und Löschen mit Status meldung
Hallo
ich müsste wissen wie ich eine Batch erstelle die von zwei Ordner die Inhalte löscht und mir dann ein Logfile erstellt in dem drin steht das das löschen bzw das verschieben erfolgreich abgeschlossen ist. Ich habe mir gedacht das man es vielleicht so lösen könnte das er irgendwie prüft ob in dem Verzeichnis noch Dateien oder Ordner vorhanden sind und dann je nach dem in die Logfile schreibt Löschen bzw Verschieben erfolgreich beendet oder nicht erfolgreich beendet. Eventuell noch mit Datum und Uhrzeit wann die Letzte löschung oder verschiebung stattgefunden hat.
Kennt sich da jemand aus ? Mit Batch hatte ich noch nie sehr viel zu tun.
MfG
Thomas S.
ich müsste wissen wie ich eine Batch erstelle die von zwei Ordner die Inhalte löscht und mir dann ein Logfile erstellt in dem drin steht das das löschen bzw das verschieben erfolgreich abgeschlossen ist. Ich habe mir gedacht das man es vielleicht so lösen könnte das er irgendwie prüft ob in dem Verzeichnis noch Dateien oder Ordner vorhanden sind und dann je nach dem in die Logfile schreibt Löschen bzw Verschieben erfolgreich beendet oder nicht erfolgreich beendet. Eventuell noch mit Datum und Uhrzeit wann die Letzte löschung oder verschiebung stattgefunden hat.
Kennt sich da jemand aus ? Mit Batch hatte ich noch nie sehr viel zu tun.
MfG
Thomas S.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50403
Url: https://administrator.de/forum/batch-datei-fuer-verschieben-und-loeschen-mit-status-meldung-50403.html
Ausgedruckt am: 21.04.2025 um 08:04 Uhr
13 Kommentare
Neuester Kommentar
Hy
Als Batch alternative kann ich dir http://www.2brightsparks.com/downloads.html#freeware empfehlen.
Grüsse Shaby
Als Batch alternative kann ich dir http://www.2brightsparks.com/downloads.html#freeware empfehlen.
Grüsse Shaby
Dieses ist fürs löschen:
Teste aber erstmal ob es das so macht wie du willst.
@echo off
set ordner=H:\test\\
set Logfile=log.txt
:: Löschen der Dateien und Ordner
:: Kontrolle ob löschen erfolgreich war
set leer=1
FOR /F "delims=" %%i in ('dir /b %ordner%') do if not [%%i] equ set leer=0
:: Ausgabe in Logfile
if %leer% equ 1 (
echo %Date% %Time% %ordner%: Löschen erfolgreich beendet.>>%Logfile%
) else (
echo %Date% %Time% %ordner%: Löschen nicht erfolgreich beendet.>>%Logfile%
)
miniversum
Teste aber erstmal ob es das so macht wie du willst.
@echo off
set ordner=H:\test\\
set Logfile=log.txt
:: Löschen der Dateien und Ordner
set leer=1
FOR /F "delims=" %%i in ('dir /b %ordner%') do if not [%%i] equ set leer=0
:: Ausgabe in Logfile
if %leer% equ 1 (
echo %Date% %Time% %ordner%: Löschen erfolgreich beendet.>>%Logfile%
) else (
echo %Date% %Time% %ordner%: Löschen nicht erfolgreich beendet.>>%Logfile%
)
miniversum
Hallo tRipleT!
Die folgende Batchdatei löscht nur Dateien (keine Unterverzeichnisse; dafür aber auch schreibgeschützte oder versteckte Dateien) und protokolliert die leeren Verzeichnisse:
Grüße
bastla
[Edit] @ miniversum - Du schon wieder ...
[/Edit]
Die folgende Batchdatei löscht nur Dateien (keine Unterverzeichnisse; dafür aber auch schreibgeschützte oder versteckte Dateien) und protokolliert die leeren Verzeichnisse:
@echo off
for %%d in ("D:\Test mit Leerzeichen" "D:\Test2") do (
attrib "%%~d\*.*" -r -s -h
del /q "%%~d\*.*"
dir "%%~d\*.*" /a-d >nul 2>nul || echo %date%_%time:~0,8% %%d leer >> D:\DelLog.txt
)
Grüße
bastla
[Edit] @ miniversum - Du schon wieder ...
Das Verschieben kannst du anschließend so machen (ungetestet):
FOR /F "delims=" %%i in ('dir /b %ordner%') do move "H:\test2" "%ordner%%%i"
if %errorlevel% lss 1 (
echo %Date% %Time%: Verschieben erfolgreich>>log.txt
) else (
echo %Date% %Time%: Verschieben nicht erfolgreich>>log.txt
)
Ist allerdings ungetestet!
miniversum
FOR /F "delims=" %%i in ('dir /b %ordner%') do move "H:\test2" "%ordner%%%i"
if %errorlevel% lss 1 (
echo %Date% %Time%: Verschieben erfolgreich>>log.txt
) else (
echo %Date% %Time%: Verschieben nicht erfolgreich>>log.txt
)
Ist allerdings ungetestet!
miniversum
Das verschieben war nicht getestet von mir.
Das Löschen geht ja.
Hier nochmal das Ganze (löschen und vershcieben) abgeändert. Gib bescheid ob es so geht wie du es willst:
set quellordner=H:\test2
set zielordner=H:\test1
set logfile=log.txt
:: Löschen der Dateien und Ordner im Zielordner
:: Kontrolle ob löschen erfolgreich war
set leer=1
FOR /F "delims=" %%i in ('dir /b %zielordner%') do if not [%%i] equ set leer=0
:: Ausgabe in Logfile
if %leer% equ 1 (
echo %Date% %Time% %zielordner%: Löschen erfolgreich beendet.>>%Logfile%
) else (
echo %Date% %Time% %zielordner%: Löschen nicht erfolgreich beendet.>>%Logfile%
)
:: Verschieben der Dateien
FOR /F "delims=" %%i in ('dir /b %quellordner%') do move "%quellordner%\%%i" "%zielordner%" 2>NUL
:: Kontrolle of verschieben erfolgreich war und Ausgabe in Logfile
if %errorlevel% lss 1 (
echo %Date% %Time%: Verschieben von %quellordner% nach %zielordner% erfolgreich>>%logfile%
) else (
echo %Date% %Time%: Verschieben von %quellordner% nach %zielordner% nicht erfolgreich>>%logfile%
)
miniversum
Das Löschen geht ja.
Hier nochmal das Ganze (löschen und vershcieben) abgeändert. Gib bescheid ob es so geht wie du es willst:
set quellordner=H:\test2
set zielordner=H:\test1
set logfile=log.txt
:: Löschen der Dateien und Ordner im Zielordner
set leer=1
FOR /F "delims=" %%i in ('dir /b %zielordner%') do if not [%%i] equ set leer=0
:: Ausgabe in Logfile
if %leer% equ 1 (
echo %Date% %Time% %zielordner%: Löschen erfolgreich beendet.>>%Logfile%
) else (
echo %Date% %Time% %zielordner%: Löschen nicht erfolgreich beendet.>>%Logfile%
)
:: Verschieben der Dateien
FOR /F "delims=" %%i in ('dir /b %quellordner%') do move "%quellordner%\%%i" "%zielordner%" 2>NUL
:: Kontrolle of verschieben erfolgreich war und Ausgabe in Logfile
if %errorlevel% lss 1 (
echo %Date% %Time%: Verschieben von %quellordner% nach %zielordner% erfolgreich>>%logfile%
) else (
echo %Date% %Time%: Verschieben von %quellordner% nach %zielordner% nicht erfolgreich>>%logfile%
)
miniversum