Top-Themen

Aktuelle Themen (A bis Z)

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

Bat script zum kopieren von dateien der letzten stunde, zippen und löschen?

Frage Entwicklung Batch & Shell

Mitglied: MeerSehn

MeerSehn (Level 1) - Jetzt verbinden

25.10.2012, aktualisiert 12:52 Uhr, 3107 Aufrufe, 4 Kommentare

Hallo,

ich versuche mich auch gerade mehr oder weniger erfolgreich an diesem script.
Ich möchte eigentlich alle log files die in der letzten Stunde "beschrieben" wurden an einen bestimmten Ort kopieren und dort "zippen" und zum Schluß alles wieder löschen bis auf das zip file.
So sieht es bisher aus

echo off & setlocal
set "datum=%Date%"
set "tag=%Datum:~0,2%"
set "mon=%Datum:~3,2%"
set "jahr=%Datum:~6,4%"
set "zip"="C:\Program Files\7-Zip\7z.exe"
set "zipfile=\verzeichnis\LOGS_%jahr%%monat%%tag%-%hou%-%min%-%sec%.zip"
md "\\srv1\Transfer\TRAC Share\logs\%date%"
set "Basis=\\srv2\logs\"
set "Ziel=\\srv4\log-file\%date%"
set "Typ=log"
xcopy "\\verzeichnis\*.xml" "%ziel%"
xcopy "\\verzeichnis\.mxf" "%ziel%"
xcopy "\\verzeichnis\*.exe.config" "%ziel%"
xcopy "\\verzeichnis\*.xml" "%ziel%"
xcopy "\\verzeichnis\interfaceserver.log" "%ziel%"
if not exist "%Ziel%" md "%Ziel%"
REM Dateien aus Basisordner einsammeln
for /f "delims=" %%f in ('dir /b "%Basis%\*.%Typ%" 2^>nul') do call :ProcessFile "%Basis%\%%f"
REM Dateien aus den Unterordnern (rekursiv) einsammeln ...
for /d %%d in ("%Basis%\*.*") do (
REM ... dabei aber den Zielordner aussparen
if /i "%%d" neq "%Ziel%" (
for /f "delims=" %%f in ('dir /s /b "%%d\*.%Typ%" 2^>nul') do call :ProcessFile "%%f"
)
)

goto :eof
:ProcessFile
echo %~t1|findstr /b "%date%">nul && (
echo %~1
copy %1 "%Ziel%">nul
)

%zip% a -tzip %zipfile% "\\srv4\log-file\%date%"
del "\\srv4\log-file\%date%\*.*"
rmdir "\\srv4\log-file\%date%
goto :eof

es wird auch alles schön kopiert, nur leider alles vom heutigen Datum und nicht der letzten stunde.

1. Wie muss es aussehen wenn nur die Dateien der letzte Stunde kopiert werden sollen
2. Wie kann ich das zippen und wieder alles löschen zum Schluß?

Vielen Dank für eure Hilfe
LG MeerSehn
Mitglied: andimue
25.10.2012 um 13:37 Uhr
Hallo,
pack doch bitte die Code-Zeilen zwischen die Tags < code > und < /code >, dann kann man das ersten besser lesen und zweitens kann man sich in einer Antwort auf eine Zeilennummer beziehen.
Infos zum verwendeten Betriebssystem ist bestimmt auch nicht von Nachteil

Nun zu deinem Skript:
da du in :ProcessFile nur nach dem %date% abfragst ist es m.E. nicht verwunderlich, dass du nur Dateien vom heutigen Datum bekommst.
Wo hast du eigentlich die Definition der Variablen %hou% %min% %sec%, die du in %zipfile% verwendest ?
Bitte warten ..
Mitglied: MeerSehn
25.10.2012, aktualisiert um 15:13 Uhr
Hi

danke für den Hinweis mit den tags, die variablen habe ich schon verändert, allerdings funtz das zippen nicht und wie ich löschen muss, raff ich auch noch nicht
OS ist windows, 2003 und 2008

01.
echo off & setlocal 
02.
set "jahr=%date:~-4%" 
03.
set "monat=%date:~-7,2%" 
04.
set "tag=%date:~-10,2%" 
05.
set "sec=%time:~-5,2%" 
06.
set "min=%time:~-8,2%" 
07.
set "hou=%time:~-11,2%" 
08.
set "zip"="C:\Program Files\7-Zip\7z.exe" 
09.
set "zipfile=\verzeichnis\LOGS_%jahr%%monat%%tag%-%hou%-%min%-%sec%.zip" 
10.
md "\\srv1\Transfer\TRAC Share\logs\%date%" 
11.
set "Basis=\\srv2\logs\" 
12.
set "Ziel=\\srv4\log-file\%date%" 
13.
set "Typ=log" 
14.
xcopy "\\verzeichnis\*.xml" "%ziel%" 
15.
xcopy "\\verzeichnis\.mxf" "%ziel%" 
16.
xcopy "\\verzeichnis\*.exe.config" "%ziel%" 
17.
xcopy "\\verzeichnis\*.xml" "%ziel%" 
18.
xcopy "\\verzeichnis\interfaceserver.log" "%ziel%" 
19.
if not exist "%Ziel%" md "%Ziel%" 
20.
REM Dateien aus Basisordner einsammeln 
21.
for /f "delims=" %%f in ('dir /b "%Basis%\*.%Typ%" 2^>nul') do call :ProcessFile "%Basis%\%%f" 
22.
REM Dateien aus den Unterordnern (rekursiv) einsammeln ... 
23.
for /d %%d in ("%Basis%\*.*") do ( 
24.
REM ... dabei aber den Zielordner aussparen 
25.
if /i "%%d" neq "%Ziel%" ( 
26.
for /f "delims=" %%f in ('dir /s /b "%%d\*.%Typ%" 2^>nul') do call :ProcessFile "%%f" 
27.
rem @FOR %%i IN (%ziel%) DO "C:\Program Files\7-Zip\7z.exe" a -m0=lzma2 "%%~i.7z" "%%~i"  
28.
    )  
29.
)  
30.
 
31.
goto :eof  
32.
:ProcessFile  
33.
echo %~t1|findstr /b "%date%">nul && (  
34.
echo %~1  
35.
copy %1 "%Ziel%">nul  
36.
 
37.
38.
 
39.
goto :eof
Wäre für Hilfe sehr dankbar

Beste Grüße
MeerSehn
Bitte warten ..
Mitglied: pieh-ejdsch
25.10.2012 um 15:38 Uhr
moin MeerSehn,

Die Dateien der letzten Stunde bekommst Du so: (ab 1 Uhr)
Test auf der CMD-Line
01.
> for /f "tokens=* delims=3" %a in ('set /a "x=(%time:~-11,2%+23)%24 +300" ') do @for /r %i in (*) do @for /f "tokens=1,2" %j in ("%~ti") do @if %j equ %date% if %k gtr %a:%time:~-8,2% echo %i
7Zip hat auch eine Hilfe im CLI

Gruß Phil
Bitte warten ..
Mitglied: MeerSehn
25.10.2012 um 15:49 Uhr
Hi Phil,

dank dir, aber wo muss ich das denn nun einbauen und die hilfe von 7z habe ich schon kontaktiert, mir scheint ich bin zu blöd

Beste Grüße
MeerSehn
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zeile von einer Bat-Datei in eine andere kopieren
gelöst Frage von Nick.BBatch & Shell6 Kommentare

Ich wollte eine Zeile von einer Bat-Datei in eine andere schreiben, dies habe ich auch mit echo geschafft aber ...

Batch & Shell
bat script für kopieren mehrerer Unterordner
gelöst Frage von ChrisBoahBatch & Shell3 Kommentare

Hallo! Leider habe ich nahezu keine Erfahrung mit batch programmierung. Ich suche ein script welches mir von mehreren Ordnern ...

Batch & Shell
Logfiles zippen, verschieben, löschen
gelöst Frage von tomscorerBatch & Shell6 Kommentare

Hallo liebe Community. Ich habe mich nun schon etwas im Forum umgesehen, aber irgendwie funktioniert mein Batch nicht so ...

PHP
PHP-Script um Online zu zippen
Frage von sbsnewbiePHP3 Kommentare

Hallo Admins, folgende Frage, die bestimmt easy ist, bei der ich aber gerade ein Brett vor dem Kopf habe: ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...