AGB  ·  Datenschutz  ·  Impressum  







Anmelden
NŘtzliche Links
Registrieren
ZurŘck Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Batchscript zum automatischen L÷schen von Dateien

Batchscript zum automatischen L÷schen von Dateien

Ein Thema von Luckie · begonnen am 21. Mai 2019 · letzter Beitrag vom 23. Mai 2019
Antwort Antwort
Seite 4 von 4   « Erste     234
DenkDirNix

Registriert seit: 13. Dez 2018
8 Beitrńge
 
Delphi 10.3 Rio
 
#31

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 22. Mai 2019, 07:19
FŘrs Debuggen von Batch-Dateien hatte ich mal einen Debugger im Delphi-Stil geschrieben, siehe https://www.dropbox.com/sh/k34v4uhwd...HdEMM4I4a?dl=0. Sollte fŘr unsereiner also einigerma▀en intuitiv bedienbar sein. Soweit man so etwas Řber die Gattung "Debugger" Řberhaupt sagen kann.

Der hilft bei Problemen mit der Befehls-Syntax natŘrlich eher weniger, ist aber gut bei der Verfolgung des Programmflusses und der Variablen-Inhalte.
Miniaturansicht angehńngter Grafiken
linesymbols.jpg  

Geńndert von DenkDirNix (22. Mai 2019 um 08:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.192 Beitrńge
 
Delphi 2006 Professional
 
#32

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 22. Mai 2019, 09:26
Oh. Das klingt gut. Beim nńchsten mal.
Michael
Ein Teil meines Codes wŘrde euch verunsichern.
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
702 Beitrńge
 
Delphi 10.2 Tokyo Enterprise
 
#33

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 22. Mai 2019, 13:07
Je nach Datenmenge ist das ganze aber ziemlich uneffizient, weil jedes mal alles in das Unterverzeichnis kopiert wird und die Řberzńhligen Verzeichnisse komplett gel÷scht werden.

Der Vorteil von robocopy ist ja gerade, dass er Verzeichnisse quasi synchronisieren kann (inkl. L÷schen von nicht mehr vorhandenen Dateien).

Wńre es nicht sinnvoller, x feste Verzeichnisse anzulegen und Řber robocopy abhńngig vom Tag da jeweils reinzukopieren?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.192 Beitrńge
 
Delphi 2006 Professional
 
#34

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 22. Mai 2019, 14:02
Ich wollte keine Synchronisation. Das passt schon so fŘr mich, wie ich es jetzt habe.
Michael
Ein Teil meines Codes wŘrde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.192 Beitrńge
 
Delphi 2006 Professional
 
#35

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 23. Mai 2019, 08:59
Der Vollstńndigkeit halber hier das vollstńndige Script fŘr alle die es brauchen:

Code:
@echo off

rem Projekt         : Backupskript NAS auf Zeus
rem Autor         : Michael Puff <mail@michael-puff.de>
rem Datum         : 2019-05-21

set RETAINBACKUPS=4
set h=%time:~0,2%
set m=%time:~3,2%
Set CTIME=%h%-%m%
echo ╔══════════════════════════════════════════════════════════╗
echo ║                                                          ║
echo ║                      NAS Backup                         ║
echo ║                      ══════════                          ║
echo ║                                                          ║
echo ╠──────────────────────────────────────────────────────────╣
echo ║                                                          ║
echo ║             Sichert Daten vom Herakles (NAS)            ║
echo ║        nach Zeus (PC Michael) auf Backup Laufwerk D.    ║
echo ║                                                          ║
echo ╚══════════════════════════════════════════════════════════╝
echo.

rem freien Speicherplatz anzeigen
for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i
echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB
echo.

rem alte Backups loeschen
choice /M "Alte Sicherung(en) loeschen?" /C JN
if %ERRORLEVEL% == 1 goto DEL_OLDEST
if %ERRORLEVEL% == 2 goto DO_BACKUP

:DEL_OLDEST
echo.
echo Loesche alte Sicherungen...
echo.

for /F "skip=%RETAINBACKUPS% delims=" %%F IN ('dir /B /AD-S /O-N "*" 2^>NUL') DO (
  echo Loesche %%F
  rmdir /S /Q "d:\%%F"
)

:DO_BACKUP
echo.
echo Sicherung beginnen..
echo.
rem VC Container trennen
echo VC Container "Dokumente" trennen...
veracrypt /d /l y /f /q

echo.

rem Sicherung beginnen
md "D:\%date% %CTIME%
robocopy "Z:" "D:\%date% %CTIME%" /MIR /A-:A /XD "Z:\#recycle" /V
attrib "D:\%date% %CTIME%" /S /D -S -H
echo.

Pause
Michael
Ein Teil meines Codes wŘrde euch verunsichern.

Geńndert von Luckie (23. Mai 2019 um 09:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.316 Beitrńge
 
Delphi 5 Professional
 
#36

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 23. Mai 2019, 19:35
Bei diesem Code musst du aber sicherstellen, dass das Arbeitsverzeichnis immer gleich dem Backupverzeichnis ist, denn das dir-Kommando listet die Inhalte vom Arbeitsverzeichnis, gel÷scht wird aber in einem konkreten Pfad (dem Backupverzeichnis).

Wollt's nur nochmal gesagt haben, auch fŘr andere Mitleser.

PS: Bei dem md unten im Skript fehlt das schlie▀ende Quote.

GrŘ▀e
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.192 Beitrńge
 
Delphi 2006 Professional
 
#37

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 23. Mai 2019, 20:23
Bei diesem Code musst du aber sicherstellen, dass das Arbeitsverzeichnis immer gleich dem Backupverzeichnis ist, denn das dir-Kommando listet die Inhalte vom Arbeitsverzeichnis, gel÷scht wird aber in einem konkreten Pfad (dem Backupverzeichnis).

Wollt's nur nochmal gesagt haben, auch fŘr andere Mitleser.

PS: Bei dem md unten im Skript fehlt das schlie▀ende Quote.
Danke fŘr den Hinweis. Am Anfang noch ein D: ?
Michael
Ein Teil meines Codes wŘrde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.316 Beitrńge
 
Delphi 5 Professional
 
#38

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 23. Mai 2019, 21:12
Diese M÷glichkeiten hast du:
Code:
cd /D D:\
D:
pushd D:\
wobei bei letzterem am Ende noch ein popd zu ergńnzen wńre (wenn auch nicht zwingend n÷tig). Es gibt subtile Unterschiede zwischen den Kommandos. Ersteres ńndert spezifisch auf das Root von Laufwerk D:, zweiteres wechselt nur auf Laufwerk D: und zwar in das zuletzt dort benutzte Verzeichnis. Und das pushd packt das Verzeichnis auf den Verzeichnisstack und kann als einziges mit UNC-Pfaden umgehen (indem es selbigen als Netzlaufwerk mappt).

Im Kontext des Skriptes (im oben geposteten) Stand ist das Ergebnis aller drei Varianten aber gleich.

GrŘ▀e
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.192 Beitrńge
 
Delphi 2006 Professional
 
#39

AW: Batchscript zum automatischen L÷schen von Dateien

  Alt 23. Mai 2019, 21:16
Dann werde ich die erste M÷glichkeit nehmen.
Michael
Ein Teil meines Codes wŘrde euch verunsichern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beitrńge zu antworten.
Es ist dir nicht erlaubt, Anhńnge hochzuladen.
Es ist dir nicht erlaubt, deine Beitrńge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf