Anfänger braucht Hilfe bei Erstellung eines Prüf Script

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anfänger braucht Hilfe bei Erstellung eines Prüf Script

    Guten Tag alle zusammen,

    wie im Titel erwähnt bin ich Neuling in diesen Gebiet, ein generelles Verständnis fürs Programmieren ist vorhanden, das Korrekte umsetzen ist der schwere Part ;).
    Also ich habe folgende Aufgabe bekommen, ich soll Rechnungsnummernkreise überprüfen. Aus einer MySQL Datenbank habe ich die entsprechenden Rechnungsnummern mir schon in ein Dokument geschrieben und diese Nummern soll ich mit den Physisch vorhandenen Rechnungen überprüfen und eventuelle Lücken aufdecken.
    In dem Dokument sieht es so aus:

    Quellcode

    1. /Rechnungen/2011/8/31/237173.pdf
    2. /Rechnungen/2011/8/31/237174.pdf
    3. /Rechnungen/2011/8/31/237175.pdf
    4. /Rechnungen/2011/8/31/237176.pdf
    5. /Rechnungen/2011/8/31/237177.pdf
    6. /Rechnungen/2011/8/31/237178.pdf


    Die Physischen vorhandenen Rechnungen werden immer nach der Struktur /Rechnungen/Jahr/Monat/Tag abgelegt. Timestamps sind in der MySQL Datenbank vorhanden. Die MySQL Datenbank die wir in der Firma haben ist sehr gut, soweit ich das beurteilen kann .
    Zur Hintergrund info: Ein Produkt wird gekauft, Rechnung wird erzeugt und abgelegt (sind noch massig Arbeitsschritte dazwischen aber wie genau unserer Web Shop funktioniert interessiert ja nicht ;) )

    Wie oben beschrieben habe ich schon ein Dokument erzeugt wo in dem Geschäftsjahr 2010-2011 alle erzeugten Rechnungsnummern drin sind. Die Physischen Rechnungen liegen aufm Server \\...\Rechnungen\2010\...

    Ich scheitere halt komplett am erstellen eines Scriptes. Ich hab ein paar Ansätze erarbeitet aber nichts richtiges hinbekommen. Hier mal ein Ansatz:

    Quellcode

    1. @echo off
    2. set e="Fehlende Rechnungen 2010-2011.txt"
    3. if exist %e% (del %e%)
    4. if not exist Rechnungen\2012\01\01\100000.pdf (echo Rechnungen\2012\01\01\100000.pdf >>%e%)
    5. if not exist Rechnungen\2012\01\01\100001.pdf (echo Rechnungen\2012\01\01\100001.pdf >>%e%)


    mal was mit Bash rumprobiert :). Mit welcher Sprache das Problem gelöst wird ist mir ehrlich gesagt ziemlich egal ;) , per SQL abfrage oder in C oder sonst wie. Ich arbeite mich grad in PowerShell ein, also wenn wer die Lösung mittels PowerShell hätte wäre das ideal.

    Vielen Dank schonmal im Vorraus für jede Hilfe :)
  • Quellcode

    1. @echo off
    2. set e="Fehlende Rechnungen 2010-2011.txt"
    3. if exist %e% (del %e%)
    4. for /f "tokens=*" %%i in (dokus.txt) do if not exist %%i echo %%i >> %e%

    wobei dokus.txt im selben Verzeichnis liegt wie deine Batchdatei und die Dateinamen der Rechnungen enthält. Es sollte keine leere Zeile auftauchen. Und wenn die Einträge nicht mit \ beginnen, also relative Pfade sind, dann beziehen diese sich auf das Verzeichnis in dem die Batchdatei liegt.

    Thomas