Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Wie kann ich prüfen ob eine .csv Datei richtig zum Server übertragen wird?

  1. #1
    Registriert seit
    27.03.2012
    Beiträge
    4
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    habe folgendes Problem. Ich möchte beim TP 1500 Comfort eine .csv Datei per Script zum Server schicken und prüfen ob diese richtig angekommen ist.

    Ich bedanke mich jetzt schon für eure Hilfe.

    MfG

    BeWa
    Zitieren Zitieren Wie kann ich prüfen ob eine .csv Datei richtig zum Server übertragen wird?  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    ... du fragst nach Abschluß deiner Kopier-Aktion ab, ob es am Ziel die Datei gibt.
    Ist das nicht genau genug dann müßtest du vor der Kopier-Aktion die Daten der zu kopierenden Datei abfragen (Zeitstempel, Größe) und hinterher das mit der Datei am Ziel vergleichen ...

    Gruß
    Larry

  3. #3
    Avatar von BeWa
    BeWa ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.03.2012
    Beiträge
    4
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... du fragst nach Abschluß deiner Kopier-Aktion ab, ob es am Ziel die Datei gibt.
    Ist das nicht genau genug dann müßtest du vor der Kopier-Aktion die Daten der zu kopierenden Datei abfragen (Zeitstempel, Größe) und hinterher das mit der Datei am Ziel vergleichen ...

    Gruß
    Larry
    Vielen Dank Larry,

    hast Du vielleicht ein fertiges Script welches ich einfach übernehmen kann. Das wäre einfach toll.

    MfG

    BeWa

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Naja ... nicht so ganz ...
    Das ist das, was ich habe :
    Code:
    SmartTags("Allgemein\Prod_Daten.Übertragen_Aktiv") = True
    Dim fs
    Set fs = CreateObject("Scripting.FileSystemObject") 
    Dim Lokal_ProdDaten , Lokal_Backup_Daten
    Dim Server_ProdDaten , Server_EAP_Daten
    Lokal_ProdDaten    = SmartTags("Allgemein\my_Daten_Verzeichnis") + "Prod-Daten\"
    Lokal_Backup_Daten = SmartTags("Allgemein\my_Daten_Verzeichnis") + "Prod-Daten.Sav\"
    Server_ProdDaten = SmartTags("Allgemein\my_Server_Verz_Daten") + SmartTags("Allgemein\my_Anlagen_Nummer") + "\Prod-Daten " + Mid(Date ,7,2)
    Server_EAP_Daten = SmartTags("Allgemein\my_Server_Verz_Daten") + SmartTags("Allgemein\my_Anlagen_Nummer") + "\EAP-Daten "  + Mid(Date ,7,2)
    '--------------------------------------------------------------------------------------
    Dim Datei_ProdDaten_Heute , Datei_EAP_Daten_Heute , Datei_FSK_Daten_Heute 
    Datei_ProdDaten_Heute = UCase("Daten " + myDatum("jjmmtt") + " .csv")
    Datei_EAP_Daten_Heute = UCase("EAP-Daten-" + myDatum("ttmmjjjj") + ".csv")
    Datei_FSK_Daten_Heute = UCase("FSK-Daten-" + myDatum("ttmmjjjj") + ".csv")
    Dim fo , Verz_Inhalt , Datei , rDatei , qDatei , Datei_Jahr , Ziel_Verz , Copy_Anzahl
    Copy_Anzahl = 0
    '--------------------------------------------------------------------------------------
    Set fo = fs.GetFolder(Lokal_ProdDaten)
    Set Verz_Inhalt = fo.Files
    If (Verz_Inhalt.Count = 0) Then Exit Sub
    For Each Datei In Verz_Inhalt
       rDatei = Datei.Name
       qDatei = UCase(rDatei)
       If  (qDatei <> Datei_ProdDaten_Heute) _
       And (qDatei <> Datei_EAP_Daten_Heute) _
       And (qDatei <> Datei_FSK_Daten_Heute) _
       And (Copy_Anzahl <= 20) And (Right(qDatei ,3) = "CSV") Then
           If Left(qDatei ,5) = "DATEN" Then
              Datei_Jahr = Mid(qDatei ,7,2)
              Ziel_Verz = Server_ProdDaten + Datei_Jahr + "\"
                 If Not fs.FolderExists(Ziel_Verz) Then fs.CreateFolder(Ziel_Verz)
              fs.CopyFile Datei , Lokal_Backup_Daten , True
              fs.CopyFile Datei , Ziel_Verz , True
              fs.DeleteFile Datei , True
           ElseIf (Left(qDatei ,3) = "EAP") Or (Left(qDatei ,3) = "FSK") Then 
              Datei_Jahr = Mid(qDatei ,17,2)
              Ziel_Verz = Server_EAP_Daten + Datei_Jahr + "\"
                 If Not fs.FolderExists(Ziel_Verz) Then fs.CreateFolder(Ziel_Verz)
              fs.CopyFile Datei , Lokal_Backup_Daten , True
              fs.CopyFile Datei , Ziel_Verz , True
              fs.DeleteFile Datei , True
           End If
        ElseIf (qDatei = Datei_ProdDaten_Heute) Then  
           Datei_Jahr = Mid(qDatei ,7,2)
           Ziel_Verz = Server_ProdDaten + Datei_Jahr + "\"
              If Not fs.FolderExists(Ziel_Verz) Then fs.CreateFolder(Ziel_Verz)
           fs.CopyFile Datei , Ziel_Verz , True
       
       End If
       Copy_Anzahl = Copy_Anzahl + 1
    Next
    SmartTags("Allgemein\Prod_Daten.Übertragen_Aktiv") = False
    kleines Manko dabei : es ist für Flex-Runtime und es kopiert die Dateien nur (und löscht sie anschliessend auf dem Quell-Laufwerk).
    Trotzdem, wenn du noch so gar keinen Ansatz hast, sollte dir das schon mal ein bißchen weiter helfen ...

    Gruß
    Larry

  5. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    BeWa (23.04.2015)

  6. #5
    Registriert seit
    09.09.2004
    Beiträge
    71
    Danke
    0
    Erhielt 17 Danke für 13 Beiträge

    Standard

    ich hätte da was, der Pfad kann auch im Netzwerk liegen:

    Code:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'File Exists
    Dim fs, Pfad, Datei
    Set fs = CreateObject("FileCtl.FileSystem")
    Pfad = "Storage Card"
    Datei= "abc.txt"
    If fs.Dir("\" & Pfad & "\" & Datei) = "" Then
     'Datei nicht vorhanden
    ElseIF fs.Dir("\" & Pfad & "\" & Datei) = Datei Then
     'Datei vorhanden
    End if
    Set fs = Nothing
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'Folder Exists
    Dim fs, Pfad, Datei
    Set fs = CreateObject("FileCtl.FileSystem")
    Pfad = "Storage Card"
    Ordner= "abc"
    If fs.Dir("\" & Pfad & "\" & Ordner, 16) = "" Then
     'Ordner nicht vorhanden
     fs.MkDir "\" & Pfad & "\" & Ordner
    ElseIF fs.Dir("\" & Pfad & "\" & Ordner, 16) = Ordner Then
     'Ordner vorhanden
    End if
    Set fs = Nothing
    Gruß, Nico

  7. #6
    Avatar von BeWa
    BeWa ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.03.2012
    Beiträge
    4
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von nicS Beitrag anzeigen
    ich hätte da was, der Pfad kann auch im Netzwerk liegen:

    Code:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'File Exists
    Dim fs, Pfad, Datei
    Set fs = CreateObject("FileCtl.FileSystem")
    Pfad = "Storage Card"
    Datei= "abc.txt"
    If fs.Dir("\" & Pfad & "\" & Datei) = "" Then
     'Datei nicht vorhanden
    ElseIF fs.Dir("\" & Pfad & "\" & Datei) = Datei Then
     'Datei vorhanden
    End if
    Set fs = Nothing
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'Folder Exists
    Dim fs, Pfad, Datei
    Set fs = CreateObject("FileCtl.FileSystem")
    Pfad = "Storage Card"
    Ordner= "abc"
    If fs.Dir("\" & Pfad & "\" & Ordner, 16) = "" Then
     'Ordner nicht vorhanden
     fs.MkDir "\" & Pfad & "\" & Ordner
    ElseIF fs.Dir("\" & Pfad & "\" & Ordner, 16) = Ordner Then
     'Ordner vorhanden
    End if
    Set fs = Nothing
    Gruß, Nico
    Hallo Nico,

    vielen Dank für deinen Vorschlag. Ich habe gestern ein paar Dinge getestet und die funktionieren auch soweit, ich werde aber noch prüfen müssen ob die Daten wirklich angekommen sind da ich nicht genau weiß wie lange das speichern dauert.

    Gruß BeWa

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 27.02.2015, 17:04
  2. Antworten: 12
    Letzter Beitrag: 16.11.2014, 20:08
  3. Datenbaustein zum laden einer .csv Datei auf einem FTP Server
    Von Hans_J im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 20.12.2013, 10:17
  4. Antworten: 3
    Letzter Beitrag: 20.09.2012, 09:38
  5. Wie kann ich mein Programm richtig aufbauen? Mischersteuerung
    Von sonic_229 im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 01.01.2012, 19:36

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •