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

gelöst Batch-Datei mit den letzten 7 Tagen und von erhalten von schon vorhandenen Daten

Mitglied: Nuker5

Nuker5 (Level 1) - Jetzt verbinden

21.02.2006, aktualisiert 22.02.2006, 11123 Aufrufe, 5 Kommentare

Hallo, ich habe eine Frage zu einem Szenario das bei uns genutzt wird. Es werden Daten von einem Programm an ein anderes als Textdatei weitergegeben.
Um sicher zu sein, dass dabei alles richtig lief möchte ich die Textdatei gern archvieren, die vom 2. Programm gelöscht wird, wenn es alles importiert hat.
Die Batchdatei sollte folgendes leisten können:
1. Die Datei die entsteht wird in erstes in das Verzeichnis kopiert, wo das Kassensystem diese abholen soll, dabei muss es überprüfen, ob dort schon eine solche existiert und wenn ja dann anhängen
2. Dann muss es alle Sicherungen der letzten sieben Tage überprüfen und die die größer als 7 Tage sind löschen und die aktuelle als Sicherung erstellen.

Ich habe schon eine Beispieldatei im Internet gefunden, die Ähnliches macht und angepasst:
@echo off
if exist c:\zweites\import.imp TYPE ausgabe.imp >> c:\zweites\import.imp
if not exist c:\vectron\vcom.imp copy vcom.imp c:\vectron
copy ausgabe.imp 0.sik
set /a MaxFiles=7
set /a counter=0
for /f %%i in ('dir /A-d /b /o:- D *.sik') do call :loop %%i
goto end
:loop
set /a counter+=1
if %counter% GTR %MaxFiles% goto end
copy /y %%i %counter%.SIK
goto loop
:end

Probleme sind dabei, dass hier anscheinend nur Generationen gespeichert zu werden und das Datum scheint nicht berücksichtigt zu werden (also an einem Tag also auch mehrere Dateien vorkommen können). Weiterhin scheint die :End-Marke nicht so richtig zu funktionieren, denn er geht irgendwie nicht aus der Schleife raus, wenn das Kriterium erfüllt ist.

Ich hoffe ich habe nichts übersehen und wäre sehr dankbar für Hilfe, da meine DOS-Kenntnisse einige Zeit zurückliegen.

Vielen Dank

Nuker5
Mitglied: Midivirus
21.02.2006 um 15:48 Uhr
Sorry,

aber soweit meine Kenntnisse reichen, sind Batches nur hilfsmittel, die nur einfache Parameter lesen können.
Das Datum etc. kannst du mit einer höhren Sprache (Java, VB, ...) auslesen und auswerten lassen!

Weiß ja nicht, wie deine Programmierkenntnisse sind, aber sowas kann man ganz einfach in JAVA lösen!!!


Grüße
Midivirus
Bitte warten ..
Mitglied: Nuker5
21.02.2006 um 16:22 Uhr
Mit der Batch-Datei kann man das Datum auslesen und es funktioniert auch.
@echo off
::Format JJMMTT
dir *.SIK > file.dat
for /F "tokens=1,2,3 delims=. " %%i in ('findstr SIK file.dat') do call :SUB1 %%i %%j %%k
goto ENDE
:SUB1
set TEMPVAR=%3
set TEMPVAR=%TEMPVAR:~2,2%
set TEMPVAR=%TEMPVAR%%2%1
echo %TEMPVAR%
:ENDE
pause




Tjaaa, aber wie in das große ganze integrieren?

Grüße

Nuker5
Bitte warten ..
Mitglied: Nuker5
21.02.2006 um 16:22 Uhr
Mit der Batch-Datei kann man das Datum auslesen und es funktioniert auch.
@echo off
::Format JJMMTT
dir *.SIK > file.dat
for /F "tokens=1,2,3 delims=. " %%i in ('findstr SIK file.dat') do call :SUB1 %%i %%j %%k
goto ENDE
:SUB1
set TEMPVAR=%3
set TEMPVAR=%TEMPVAR:~2,2%
set TEMPVAR=%TEMPVAR%%2%1
echo %TEMPVAR%
:ENDE
pause




Tjaaa, aber wie in das große ganze integrieren?

Grüße

Nuker5
Bitte warten ..
Mitglied: Biber
21.02.2006 um 19:10 Uhr
Moin nuker5,

Varianten zu Deiner Anforderung hatte wir hier schon ein paarmal "Dateien nach gewissem Alter löschen" oder "Alle Dateien älter als x Tage löschen". Suche mal im Bereich "Batch & Shell" bitte. Da waren einige Strategien relativ ausführlich hergeleitet.

Wie mein vorredner schon richtig schrieb - Rechnen mit Datumswerten gibt es nicht (schlechte Nachricht), aber..
- mit einem JScript- oder VBScript-Schnipsel, der meinetwegen auch vom Batch erzeugt und aufgerufen wird, ginge es.
- und es gibt ein paar mitgelieferte Utilities, die mit dem "Dateialter in Tagen" rechnen können.
Schau Dir dazu mal den XCopy-Befehl oder auch den lustigen ForFiles-Befehl an.
Abhängig von deren Möglichkeiten würde aber unter Umständen ein ganz anderer Batchablauf entstehen.
-und dritte Ausweichmöglichkeit... Du kannst natürlich auch im Batch den relativ simplen Algorithmus für "Berechne aus Datum x das Datum x-7 Tage nachbilden.
So etwas hat Kollege maneich gerade vor ein paar Tagen hier im Forum gemacht bei einer Frage "Datum vom Vortag im Batch berechnen" oder so ähnlich.

Ich würde die Strategie davon abhängig machen, wie robust und kompatibel der Batch sein soll. Und wenn der auf verschiedenen Windows-Rechnern mit verschiedenen Win-Versionen und unterschiedlichen Benutzern gestartet werden wird, dann würde ich empfehlen auf eine eigene Berechnung des "heute-vor-einer-Woche" zu verzichten und die Features von XCopy zu nutzen.

Gruß Biber
Bitte warten ..
Mitglied: Nuker5
22.02.2006 um 14:38 Uhr
Danke Biber,

ich versuch mich mal an die XCOPY-Variante oder die Berechnen von Tag x-7

Viele Grüße

Nuker5
Bitte warten ..
Ähnliche Inhalte
Windows Server

ShadowCopies - nicht alle Tage vorhanden unter Vorgängerversionen

Frage von staybbWindows Server2 Kommentare

Hallo, auf einem SBS 2011 sind Shadowcopys auf einem Volumen mit 2 shares konfiguriert. Die Einstellung ist wie folgt ...

Batch & Shell

Batch-Datei soll überprüfen ob ein Verzeichnis vorhanden ist

gelöst Frage von synapsenstauBatch & Shell7 Kommentare

Moin, wie bringe ich bitte einer Batch-Datei bei, das sie "schaut" ob ein Verzeichnis vorhanden ist und wenn nicht ...

Batch & Shell

Batch ordner durchsuchen und letzte Datei finden

gelöst Frage von nullpeilerBatch & Shell12 Kommentare

Hallo Admins, ich möchte folgendes durchführen. 1. Einen Ordner nach jpg dateien mit laufender Nummer durchsuchen und die letzte ...

Datenbanken

MySQL - Abfrage um letzte Einträge unterschiedlicher Objekte zu erhalten?

gelöst Frage von mabue88Datenbanken2 Kommentare

Hallo, ich sitze vor einer SQL-Abfrage, die ich einfach nicht hinbekomme. Folgende Tabelle liegt vor: Nun benötige ich eine ...

Neue Wissensbeiträge
SAN, NAS, DAS
QNAP NAS Datenschutz-Loop nach Firmware-Update
Tipp von vanTast vor 9 StundenSAN, NAS, DAS1 Kommentar

Moin, im allgemeinen Trend seine geänderten Datenschutzbedingungen den Kunden zukommen zu lassen kam die Firma QNAP auf die glorreiche ...

Datenschutz
DSGVO Datenschutzgesetz
Anleitung von 1Werner1 vor 10 StundenDatenschutz4 Kommentare

Moin, ja was ist das, da ist die DSGVO Datenschutzverordnung. Wie das Gesetz gibt es schon 2 Jahre? Nun ...

CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 1 TagCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 3 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

LAN, WAN, Wireless
Powerline über zwei Stockwerke optimieren
gelöst Frage von DultusLAN, WAN, Wireless33 Kommentare

Guten Morgen liebes Forum, ich hätte einmal eine Frage bezüglich Powerline Adapter: Mein Problem ist seit gestern präsent, da ...

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung24 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Off Topic
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonOff Topic21 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...