Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Dateien von Server A auf Server B kopieren und auf Server B eine ein Protokol Datei mit Datum und Zeit erzeugen.

Frage Entwicklung Batch & Shell

Mitglied: winget

winget (Level 1) - Jetzt verbinden

26.08.2010, aktualisiert 07.01.2011, 4662 Aufrufe, 10 Kommentare

Hallo zusammen,
ich möchte Dateien von einem server z.B. A zu dem dem Server B kopieren und dabei soll eine LOG-Datei (Text-Datei mit Datum und Zeit) was Kopiert wurde.
Auf dem Server A sollen die Dateien gelöscht werden. Das soll mit einer Batch CMD Befehl passieren.
Vielen Dank

Hie eine kurze Beschreibung

Von hier zu Kopieren
\\SERVER_A\COPY_FILES\

Nach:
\\SERVER_B\SAVE_FILES\


Erzeuge LOG File mit den kopierten Files nach dem MUSTER (LOG_JJMMDD_DATUM.txt) auf dem SERVER B
z.B nach \\SERVER_B\logfiles


Lösche kopierte Files auf dem SERVER_A
Mitglied: Breuwolf
26.08.2010 um 18:07 Uhr
jau da fällt mir nur robocopy oder synctoy ein, in deinem Fall würde ich Synctoy empfehlen...weil grafisch und recht einfach beides von Microsoft
Bitte warten ..
Mitglied: TheJoker2305
26.08.2010 um 18:42 Uhr
@echo off
set datum=time(now,yymmtt)
copy \\SERVER_A\COPY_FILES\*.* \\SERVER_B\SAVE_FILES\ >> \\SERVER_B\logfiles\%%datum%%.txt
del /S \\SERVER_A\COPY_FILES\*.*


Die %% müssen nur in einer Batchdatei verwendet werden (am CMD Prompt genügt eins "%")
Bitte warten ..
Mitglied: winget
26.08.2010 um 19:38 Uhr
Hallo TheJoker2305,
genau das suche ich.

Es funktioniert bis auf die LogDatei.
Diese bekomme ich auch aber unter dem Name %datum%.txt
Bitte warten ..
Mitglied: Biber
26.08.2010 um 19:43 Uhr
Moin TheJoke2305,

Zitat von TheJoker2305:
@echo off
set datum=time(now,yymmtt)
copy \\SERVER_A\COPY_FILES\*.* \\SERVER_B\SAVE_FILES\ >> \\SERVER_B\logfiles\%%datum%%.txt
del /S \\SERVER_A\COPY_FILES\*.*

Interessant ..
Ich bin immer beeindruckt von Menschen, die mehr als 5 Sprachen fliessend sprechen in einem Satz.

Magst du eventuell noch mal drübergucken,,, es sieht ein bisschen so aus, als wärest du vielleicht durch irgendeine matschig-in-der-Birne-machende "Heute 20% auf alles - ausser Biernahrung"-Baumarktwerbung etwas abgelenkt gewesen.

@winget
Im Bereich "Batch & Shell"/Anleitungen findest du auch ein oder zwei Tutorials zu den Themen "Dateien mit Datumszusatz im Namen sichern."

Oder einen Moment warten, bis TheJoke2305 die kleinen Flüchtigkeitsfehler rausgeflöht hat.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
26.08.2010 um 19:45 Uhr
Hallo winget!

Jetzt bin ich aber überrascht (nicht von der Tatsache, dass - auch in einem Batch - für eine "gewöhnliche" Variable nur je ein Prozentzeichen an Anfang und Ende ausreicht): Die Zeile 2 hätte ich unter Batch eigentlich für Wunschdenken gehalten und mich daher mit etwas in der Art abgeplagt:
set "datum=%date:~-2%%date:~-7,2%%date:~-10,2%"
Falls Du übrigens beim Löschen nicht nach Deiner ausdrücklichen Zustimmung gefragt werden möchtest: "del" kennt auch einen Schalter "/q" ...

@ TheJoker2305
Ich fände es sinnvoll, bei nicht getesteten Code-Schnipseln auf diesen Umstand hinzuweisen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
26.08.2010 um 19:48 Uhr
Nein, winget,

Zitat von winget:
genau das suche ich.

Es funktioniert bis auf die LogDatei.

Nein, das suchst du bestimmt nicht.
Denn auch wenn der Zielserver NICHT erreichbar ist werden unabhängig vom Kopier-Erfolg alle Quelldateien gelöscht.

Bitte NICHTS anfassen... warte, bis TheJoker2305 editiert hat.
Sein Ansatz ist ja okay... aber den kann ich so ohne Korrektur ohnehin nicht stehen lassen im Bereich "Batch & Shell".

Grüße
Biber

[edit] ..und ergänzend zu bastla:
"@TheJoke2305: Ich fände es sinnvoll, bei nicht getesteten Code-Schnipseln auf diesen Umstand hinzuweisen ..."
Und bitte nicht nur schreiben "Klinisch getestet" wie bei der Zahnpasta... sondern auch, mit welchem Ergebnis.
[/edit]
...wenn einer schon den Nick "Teekasper" wählt....
Bitte warten ..
Mitglied: winget
01.09.2010 um 13:10 Uhr
Hallo Leute,
hier ist die Lösung:
01.
@echo off 
02.
set datum=%date:~-4%%date:~-7,2%%date:~-10,2% 
03.
set zeit=%time:~0,2%%time:~3,2%%time:~6,2% 
04.
copy \\SERVER_A\COPY_FILES\*.* \\SERVER_B\SAVE_FILES\ >> \\SERVER_B\logfiles\%datum%_%zeit%.txt 
05.
del /S \\SERVER_A\COPY_FILES\*.*

Oder:
01.
@echo off 
02.
set datum=%date:~-4%%date:~-7,2%%date:~-10,2% 
03.
set zeit=%time:~0,2%%time:~3,2%%time:~6,2% 
04.
move \\SERVER_A\COPY_FILES\*.* \\SERVER_B\SAVE_FILES\ >> \\SERVER_B\logfiles\%datum%_%zeit%.txt
Leider ist nicht sichergestellt, wenn Server_B nicht erreichbar ist, die Dateien auf Server_A gelöscht zu werden.

Die Sachen mit dem Datum und Zeit habe ich hier gefunden:
http://www.computing.net/answers/programming/log-file-date-and-time/181 ...
http://www.libe.net/themen/BATch-Befehle.php

Viele Grüße
winget

[Edit Biber] Code-Tags nachgezogen [/Edit]
Bitte warten ..
Mitglied: Biber
01.09.2010 um 13:30 Uhr
Moin winget,

Leider ist nicht sichergestellt....
Okay, sicherstellen lässt sich in der IT gar nichts, sonst würden wir nicht alle davon leben können.
Aber:

im Fall a) mit auseinandergezogenem MOVE (als erst COPY und dann DEL) könntest du theoretisch
  • umstellen auf das Einzel-Datei-Kopieren mit einer FOR-Anweisung und nach jedem Einzel-COPY ein "|| del \\server_a\einzel-file" anhängen
  • oder etwas gröber sagen...nur wenn das ganz COPY *.* aus Zeile 04 erfolgreich war, nur dann löschen
dann würde die neue Zeile 05 lauten
01.
... 
02.
.. 
03.
.. 
04.
.. 
05.
IF NOT ERRORLEVEL 1 del /S \\SERVER_A\COPY_FILES\*.*
Und im Fall b) kann bei näherer Betrachtung nix schiefgehen...
Zumindest nichts, was ein erfahrener ITler dem Kunden gegenüber als Projektrisiko bezeichnen würde.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
01.09.2010 um 13:37 Uhr
@Biber
und nach jedem Einzel-COPY ein "|| del \\server_a\einzel-file" anhängen
wäre dann doch nicht so gut (verglichen mit einer "&&"-Verknüpfung) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
01.09.2010 um 13:59 Uhr
Moin bastla,

okay, im Detail hätte diese Skizze vielleicht noch Potentiale...

Aber ich war gedanklich ohnehin schon mehr bei der MOVE-Variante... wenn die doch nun schon erfunden wurde in Redmond...

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
Dateien trotz Verwendung kopieren (2)

Frage von 112Timo zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner anhand von Dateinamen erstellen und Dateien in Ordner kopieren (3)

Frage von getmoving zum Thema Batch & Shell ...

Windows Server
gelöst Administrator kann auf Server keine EXE-Dateien kopieren, löschen, anlegen (5)

Frage von Winfried-HH zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...