Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Backup mit Batch-Datei machen (https://www.delphipraxis.net/13252-backup-mit-batch-datei-machen.html)

Luckie 14. Dez 2003 21:02


Backup mit Batch-Datei machen
 
So, ich habe gerade eine alte 6 GB Platte in meien Kiste gehangen. Jetz würde ich gerne meine eignen Dateien von hd0 Partition D auf die kopieren.

Ich dachte an ein einfaches Batch Script und den Konsolen Programm xcopy. Ich hätte aber es gerne, dass er mir in einem Unterordner einen weiteren Unterordner anlegt mit dem aktuellen Datum und der Uhrzeit. Ist es möglich per Batch-Dtei dies zu erledigen?

Für Alternativen wäre ich auch offen. Windows Scripting Host, oder wie das heißt.

sollte so aussehen:
Code:
hd0 d:\

hd1 i:\Backup
         |
          --20031217-1523
         |        |
         |         --...
         |
          --20031219-0847
                  |
                   --...
Die Ordner mit dem datum und der Uhrzeit müssetn dynamisch von dem Script erstellt werden.

nailor 14. Dez 2003 21:48

Re: Backup mit Batch-Datei machen
 
Na ja. Ich versteh, was du willst. Es geht bestimmt mit einer batch-Datei...

Aber es ging totsicher auch mit einem "normalen" (Delphi-)Programm. Und ich sehe keinen Vorteil der Batch-Version :gruebel:

Luckie 14. Dez 2003 21:53

Re: Backup mit Batch-Datei machen
 
Der Vorteil ist der:
Code:
xcopy %1 %2 /E /V /C /I /F
Ich gebe jetzt eben Quelle und Ziel als Parameter mit. Wie lange hättest du für die Aufgabe mit einem Delphi Programm gebraucht? Aber du hast recht, ich hätte auch mit Spatzen auf Kanonen schießen können. :roll:

nailor 14. Dez 2003 21:59

Re: Backup mit Batch-Datei machen
 
nicht länger. Notfalls hättest du den einen Ordner über Delphi erstellt, und dann den Rest über ShellExecute o.ä. erledigt...

Da wüsste ich sofort wie ich einen Ordner mit dem aktuellen Datum/Zeit als Namen erstelle!

Chewie 14. Dez 2003 22:02

Re: Backup mit Batch-Datei machen
 
@Nailor:
Also wenn du, um ein paar Ordner zu kopieren, schneller ein Delphi-Programm schreibst als eine BAT-Datei, dann würde mich mal interessieren, wie viel Finger du hast :shock:

Duffy 14. Dez 2003 22:03

Re: Backup mit Batch-Datei machen
 
Hallo Luckie,
um alle Dateien in einem Unterordner mit Datum zu kopieren würde folgendes reichen

Code:
xcopy %1 %date%\%2 /s /e
mit der Uhrzeit sieht es schlecht aus, da die die Uhrzeit %time% Doppelpunkte beinhaltet und diese in einem Dateinamen nicht erlaubt sind.

bye
Claus

Chewie 14. Dez 2003 22:11

Re: Backup mit Batch-Datei machen
 
Zitat:

Zitat von Duffy
mit der Uhrzeit sieht es schlecht aus, da die die Uhrzeit %time% Doppelpunkte beinhaltet und diese in einem Dateinamen nicht erlaubt sind.

Na ja, deren Umwandlung sollte das geringste Problem sein. Unter Unix gibts dafür GREP, für Win wirds da auch entsprechende Programme geben. Oder selber schreiben - ist ja SO viel Arbeit ;)

Luckie 14. Dez 2003 22:18

Re: Backup mit Batch-Datei machen
 
%date% liefert mir das Datum so: "So 2003-12-14" muss ich dann noch mal umbenennen.

Christian Seehase 15. Dez 2003 10:59

Re: Backup mit Batch-Datei machen
 
Moin Zusammen,

in einem Batch Strings zu manipulieren ist, zumindest in NT basierten Systemem kein Problem:

Code:
@echo off
set timetemp=%TIME:~6,2%%TIME:~3,2%%TIME:~0,2%
echo %timetemp%
pause
rem Cleanup Environment
set timetemp=
Allgemein:
%NameDerUmgebungsvariablen:~NullbasierterIndexImIn halt,AnzahlZeichenAbIndex%

Wichtig:
Will man das mit einem Parameter machen (%0 bis %9) muss man diesen erst einmal in eine Umgebungsvariable kopieren.

[EDIT]
Ich würde übrigens lieber RoboCopy nehmen (statt XCOPY).
Das ist zwar u.U. gefährlicher in der Anwendung (zumindest, wenn man die Option MIRROR verwendet, und dabei Quelle und Ziel vertauscht), aber hier funktioniert Verify besser, als bei XCOPY.
[/EDIT]

mschaefer 22. Apr 2006 20:31

Re: Backup mit Batch-Datei machen
 
Moin, moin,


man sollte eigentlich meinen, dass es einige Jahre nach diesem Thread inzwischen kleine Programme dafür gibt. Aber man findet irgendwie immer mehr Kanonen die nach kleinen Vögeln geworfen werden, dann die Aufgabe verfehlen und die Botanik (Festplatte) verschandeln.


Hier kommt daher für Systeme mit Cmd-Konsole ein Einzeiler für den Autostarteintrag
der ein Verzeichnisbackup leistet mit Datum im Zielverzeichnisnamen.

Delphi-Quellcode:
   %windir%\system32\cmd.exe /c echo j| %windir%\system32\xcopy.exe C:\Programme\irgendeinquellpfad\*.*  F:\Backup\irgendeinzielpfad\Verzeichnis_%date%\  /s /e


Viele Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz