WinFuture-Forum.de: Neueste Datei per Batch öffnen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Neueste Datei per Batch öffnen aus verschiedenen Ordnern


#1 Mitglied ist offline   Brutschi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 495
  • Beigetreten: 09. Oktober 04
  • Reputation: 4
  • Geschlecht:Männlich
  • Wohnort:Schönes Allgäu
  • Interessen:Computer, Seti@Home

  geschrieben 29. Mai 2011 - 13:07

Hallo Winfuturaner.

Ich habe mal wieder ein Problem.
Und zwar haben wir in der Firma eine Prüfstation mit der die fertigen Maschinen getestet werden.
Wenn alles richtig funktioiert wird ein Prüfprotoll erstellt und es ist alles gut, manchmal aber bricht die Prüfstation allerdings ab, wenn die Messwerte ausserhalb der Toleranz sind. Dann müssen wir in der Logdatei nach der Fehlerursache schauen, da es mehrere Parameter gibt, die in Frage kommen können.

Die Logdateien öffnen wir dann von Hand in dem entsprechenden Ordner.
Nun dachte ich mir, dass könnte man vereinfachen indem man eine Batch erstellt, die automatisch die aktuellste Logdatei öffnet. Das müsste doch machbar sein.

Aber es gibt noch ein zusätzliches Problem, es werden die Logdateien nach Seriennummer/Datum/Uhrzeit benannt, und in passende Unterordner geschrieben. Für jeden Monat ein neuer Unterordner.

 ....
2011-1\
2011-2\
2011-3\
2011-4\
2011-5\
2011-6\
....

Jetzt brauche ich also eine Batch die folgende Anforderungen erfüllt.
1. Den aktuellen Monatsordner erkennen
2. Die neueste Datei aus dem aktuellen Monatsordner finden und öffnen.

Habe schon ein wenig gegoogelt, aber noch nicht das gefunden, was ich wollte.
Und mit den verschiedenen Unterordnern findet sich auch nichts.

Hoffe da findet sich jemand der mir dabei hilft.
Vielen Dank im Vorraus

Gruss
Brutschi
Eingefügtes Bild
seit 09.09.2012 wieder richtige BOINC-STATS Signatur
0

Anzeige



#2 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 30. Mai 2011 - 16:28

Log.cmd
CODE
@echo off
echo Starte Log Scan...
set monat=%date:~-7,2%
echo %monat%|find "0">nul
if not errorlevel 1 set monat=%monat:~1%
cd /d "%~dp0%date:~-4%-%monat%"
for /f "tokens=*" %%i in ('dir /B /T:C /O:D') do set log=%%i
echo ™ffne Log...
"%log%"

1

#3 Mitglied ist offline   Brutschi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 495
  • Beigetreten: 09. Oktober 04
  • Reputation: 4
  • Geschlecht:Männlich
  • Wohnort:Schönes Allgäu
  • Interessen:Computer, Seti@Home

  geschrieben 24. Juni 2011 - 14:10

Danke d4rkn3ss4ev3r.

Sorry das ich mich jetzt erst melde ;D
Teilweise klappt es schon. Wenn ich nur die neueste Datei in einem festgelegten Ordner öffnen will funktioniert die FOR-Schleife einwandfrei. Das habe ich schon letzte Woche probiert, geht super.
Aber jetzt habe ich mal kurz die Ordnerstruktur nachgebaut und die ganze Batch ausprobiert, das geht leider nicht.........

EDIT: Habe den Fehler gefunden. Die Ordner Namen lauten Jahr_Monat (z.B. 2011_06) und nicht
Jahr-Monat (2011-06) wie von mir falsch angegeben. Gut das war dann mein Fehler.

also dann
cd /d "%~dp0%date:~-4%_%monat%"

anstatt
cd /d "%~dp0%date:~-4%-%monat%"

Danke nochmal für die kompetente Hilfe d4rkn3ss4ev3r.
Als Anlage nochmal die fertige Ordnerstruktur.

Gruss
Brutschi

Angehängtes Bild: Snap_2011_06_24_14_58_13.jpg

Dieser Beitrag wurde von Brutschi bearbeitet: 24. Juni 2011 - 14:50

Eingefügtes Bild
seit 09.09.2012 wieder richtige BOINC-STATS Signatur
0

#4 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 24. Juni 2011 - 16:00

Super das du zufrieden mit meinem Script bist.
0

#5 Mitglied ist offline   Brutschi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 495
  • Beigetreten: 09. Oktober 04
  • Reputation: 4
  • Geschlecht:Männlich
  • Wohnort:Schönes Allgäu
  • Interessen:Computer, Seti@Home

geschrieben 09. August 2011 - 15:17

So jetzt gehts ans Feintuning Eingefügtes Bild
Habe fast alle Tests mit dem Script abgeschlossen und auch noch eine Ausschalt-Batch erstellt.
Habe gestern allerdings festgestellt, dass die Batch bei gleichen Dateien (mit Identischen Dateieigenschaften) immer die Datei mit der Dateiendung nimmt die im Alphabet als letztes kommt. Also wird zum Beispiel Datei.xxx bevorzugt geladen (anstatt Datei.txt).
So nun wollte ich also fragen, ob ich darauf einen Einfluss nehmen kann. Die gewünschte Dateiendung wäre .CSV.
Orgien mit massenhaftem Umbenennen von Dateien möchte ich vermeiden.

Danke.

Gruss
Brutschi
Eingefügtes Bild
seit 09.09.2012 wieder richtige BOINC-STATS Signatur
0

#6 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 12. August 2011 - 14:04

Oh sehe jetzt erst das du hier geschrieben hast.

Sind es denn immmer csv Dateien die geöffnet werden sollen?
0

#7 Mitglied ist offline   Brutschi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 495
  • Beigetreten: 09. Oktober 04
  • Reputation: 4
  • Geschlecht:Männlich
  • Wohnort:Schönes Allgäu
  • Interessen:Computer, Seti@Home

geschrieben 13. August 2011 - 20:57

Hallo d4rkn3ss4ev3r.
Ja es sind immer .CSV -Dateien die geöffnet werden sollen.
Die Maschine erstellt während des Prüfprogramms zwei Textdateien und eine CSV-Datei mit den Gesamtmessergebnissen. Die Textdateien enthalten nur einzelne Messwerte für LINKS und RECHTS und sind daher nicht relevant. Hätte das vielleicht schon ganz am Anfang dieses Themas schreiben sollen. Aber wenn man das Script daheim testet und die Maschine ganz wo anders steht ist das nicht so einfach.

Nochmals danke für deine Bemühungen.

Gruss
Brutschi
Eingefügtes Bild
seit 09.09.2012 wieder richtige BOINC-STATS Signatur
0

#8 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 13. August 2011 - 21:48

So sollte es klappen:

Log.cmd
@echo off
echo Starte Log Scan...
set monat=%date:~-7,2%
echo %monat%|find "0">nul
if not errorlevel 1 set monat=%monat:~1%
if not exist "%~dp0%date:~-4%-%monat%" md "%~dp0%date:~-4%-%monat%"
cd /d "%~dp0%date:~-4%-%monat%"
for /f "tokens=*" %%i in ('dir /B /T:C /O:D^|find ".csv"') do set log=%%i
echo ™ffne Log...
"%log%"

Dieser Beitrag wurde von d4rkn3ss4ev3r bearbeitet: 01. November 2011 - 17:48

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0