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

Wert in einer Abfrage wird nicht in Datei geschrieben

Mitglied: christiank

christiank (Level 1) - Jetzt verbinden

23.05.2012, aktualisiert 15:58 Uhr, 2371 Aufrufe, 6 Kommentare

Hallo

ich habe ein CSV file welches mit Uhrzeiten befüllt ist.
Dieses CSV file sieht wie folgt aus:
01.
 0:00 
02.
 0:05 
03.
bis 
04.
23:45 
05.
23:50 
06.
23:55
Jetzt hab ich mir folgendes Script gebaut, welches alle 5 Minuten gestartet wird.

01.
@echo off 
02.
set TIME_HOUR=%time:~-11,2% 
03.
set TIME_MIN=%time:~-8,2% 
04.
 
05.
set LOG=Mappe.csv 
06.
set LOGNEW=%LOG:~0,-4%_temp.csv 
07.
 
08.
set USER=%random% 
09.
 
10.
FOR /F "tokens=1,2* delims=;" %%i in (%LOG%) do ( 
11.
IF "%%i" EQU "%TIME_HOUR%:%TIME_MIN%" ( 
12.
	echo Write: %%i;%%j;%USER% 
13.
	echo %%i;%%j;%USER%>>%LOGNEW% 
14.
) ELSE (  
15.
	echo %%i;%%j>>%LOGNEW% 
16.
17.
18.
del %LOG% 
19.
ren %LOGNEW% %LOG%
Leider wird der Wert %%i;%%j;%USER% nie in das file geschrieben. Ich verstehe jedoch nicht wieso das so ist.
Vielleicht hat ja jemand eine Idee zu meinem Problem.

Das CSV file sollte dann um beispielsweise 23:45 wie folgt aussehen:
01.
 0:00; 
02.
 0:05; 
03.
bis 
04.
23:45;0815 
05.
23:50; 
06.
23:55;
Danke schon mal.
Gruß
Christian

[Edit Biber] Codeformatieung [/Edit]
Mitglied: Skyemugen
23.05.2012, aktualisiert um 15:34 Uhr
Aloha,

1. möchte ich dich bitten, unsere schöne <code></code> Formatierung anzuwenden und edit: Biber war schneller
2. kann ich dir beim groben Überflug garantieren, dass es logisch ist, dass er zumindest zwischen 0:00 und 10:00 ins ELSE gehen wird, da %time:~-11,2% in dieser Zeit folgendes anzeigt: " h" und nicht "h" ergo ist "0:00" <> " 0:00".

greetz André
Bitte warten ..
Mitglied: christiank
23.05.2012 um 15:43 Uhr
Hallo André & Biber,

danke schon mal für die Antwort.
Habe jetzt auch schon <code></code> bei dem csv Teil verwendet.
Nun sieht man auch, dass das " 0:00" verwendet wird und somit sie bedingung erfüllt sein sollte.
Leider geht es nicht und ich hab einfach keine Idee wieso es so ist.

Vielleicht hat ja noch jemand eine Idee.

Gruß
Christian
Bitte warten ..
Mitglied: Skyemugen
23.05.2012, aktualisiert um 16:03 Uhr
Aloha Christian,

dann wird dein Skript nicht genau zum 5-Minuten-Zeitpunkt ausgeführt, denn ein kurzer Test bei mir ergab keine Probleme ... (Windows XP x86)

greetz André

P.S.: Zeile 1 ändern und anschauen, was wie befüllt wird und vor sich geht (ggf. in der cmd), schon getan?
Bitte warten ..
Mitglied: mak-xxl
23.05.2012, aktualisiert um 21:35 Uhr
Moin christiank,

nachdem ich mir das Ganze mehrmals angesehen habe, stellt sich mir zunehmend die Frage, was Du mit dem Script erreichen willst:

  • es startet ein Batchjob alle 5' (hoffentlich Minute mod 5 = 0),
  • der prüft, ob eine in der csv-Datei ('Mappe.csv') notierte Uhrzeit auf die aktuelle Uhrzeit (die nicht AM/PM sein darf) passt. (Das ist der Fall, wenn der Job von Sekunde 1 bis 60 der o.a. Minute den Vergleich durchführt - ok)
  • ist der Vergleich positiv, wird die Zeit aus der csv-Datei ('%%i') mit einem eventuell vorh. zweiten String ('%%j') und einem (zufälligen?) User-String an das Ende der temporären Log-Datei gehängt (Zeile 13),
  • diese wird abschließend wieder zur zu prüfenden 'Mappe.csv' gemacht (Zeilen 18+19).
  • ist der Vergleich negativ, wird die eben geprüfte Uhrzeit mit einem eventuell vorh. zweiten String ans Ende der temporären Log-Datei gehängt (Zeile 15),
  • weiter wie vorheriger Punkt.

Nach einem erfolgreichen Durchlauf ist die Datei mit genau einer Zeile Uhrzeit (letzter Treffer) ausgerüstet und wird - da sie als Uhrzeit-Vorlage herhalten muss (Zeile 10) - bei einem Vergleich erst wieder am nächsten Tag zur Uhrzeit einen Treffer liefern (falls die Minute stimmt), diese wird dann 2x drinstehen, 4x, 8x, usw. usf. ... bis die Laufzeit des Scriptes auf die bearbeitete Zeilenzahl begrenzend wirkt - resp. nach einer Minute keine Treffer mehr erfolgen und damit keine weiteren Zeilen mehr geschrieben werden.

Also, wenn Du Cron testen willst, ob der, über den Tag verteilt, wenigstens auf die Minute genau startet - hmm.

Was soll das Konstrukt bewirken?

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: pieh-ejdsch
23.05.2012, aktualisiert um 22:31 Uhr
moin Mario,

die CSV wird doch neu erstellt und umbenannt.
der Rest sollte aber ohne vornull berechnet werden.
set /a 1/(1%time:~-8,2% %%5) 2>nul >&2 &&echo Der Batch wurde nicht zum richtigen Zeitpunkt gestartet &&echo exit /b 1 ||echo %time:~-11,5% Taktung ist in Ordnung &&echo exit /b 0
Gruß Phil
Bitte warten ..
Mitglied: christiank
25.05.2012 um 16:19 Uhr
Die Idee war, eine CSV zu haben in der alle 5 Minuten ein Wert an die passende stelle geschrieben wird. So eine Art Auswertung. Das Script so wie es ist ist ja auch nicht komplett...
Statt dem Zufallswert, wird eine Zahl gespeichert, welche ich geliefert bekommen.
Selsamerweise funktioniert das Script nun.
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Abfrage, ob Datei mit Variablem Wert existiert

gelöst Frage von AnrionVB for Applications12 Kommentare

Hallo Forum, Ich habe diesen Code: Jedoch funktioniert er nicht ganz wie er soll (bzw. gar nicht). Es soll ...

Datenbanken

MYSQL Abfrage Werte summieren

gelöst Frage von Ghost108Datenbanken3 Kommentare

Hallo zusammen, ich habe folgende Tabelle: Möchte gerne eine SQL Abfrage haben: - welche mir eine Spalte ausgibt, wo ...

Microsoft Office

"Wenn"-Abfrage für drei unterschiedliche Werte

Frage von TheDukeOfOGHooDMicrosoft Office2 Kommentare

Guten Tag, mein Problem ist folgendes: Ich habe eine Spalte in der drei verschiedene Werte sind (z.B. Rot, Blau, ...

Windows Server

SCCM2012 Abfrage eines Registry Wertes

gelöst Frage von busteronWindows Server5 Kommentare

Hallo an die Gemeinschaft, ich hänge momentan an ein Problem wo ich gerade nicht weiter weiß. Weiß jemand ob ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 6 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 9 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 9 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server
Route-Befehl Unterstützung (unter CMD)
Frage von FKRR56Server12 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...