Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 49839

TIA TP900 Datei mit VBS löschen -> geht nicht, weil Datei verwendet!?

$
0
0
Moin Zusammen,

ich habe folgendes Problem:

Nachdem ich erfolgreich(!) eine Datei mit VBS auf einem TP900 comfort kopiert habe, möchte ich die Quelldatei nun löschen.
Allerdings wird mir immer gemeldet, dass die Datei gerade verwendet wird:
"The process cannot access teh file because it is being used by another process."

Hier stehe ich vor einem Rätsel.
- Das kopieren der Datei hat funktioniert
- Das Dateiattribut kann ich mit FileAttr auslesen und es steht auf 0 (Normal)
- Das löschen wird mit dem o.g. Fehlertext verweigert.


Code:

fs.setattr oldFile, 0 ' Quelldatei auf 'Normal' setzen

fs.FileCopy oldFile, newFile ' Datei von SD-Card auf USB-Stick kopieren und dabei umbenennen

    If Err.Number <> 0 Then
        HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).Visible = True
          HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).text = "Oops! #20 " & Err.Description
          Exit Sub
    End If
   
FileAttr = fs.getattr(oldFile)
   
HmiRuntime.ActiveScreen.ScreenItems("TextError_4").text = FileAttr
       
       
       
       
'Prüfen, ob der Ordnerpfad auf der SD-Card leer ist,
'wenn nicht, dann leeren
'Ausdruck kopieren und dabei umbenennen
pathname = "Storage Card SD\log"
filepath = "\" & pathname & "\*.pdf"

file = fs.dir(filepath)
'HmiRuntime.ActiveScreen.ScreenItems("TextError_1").text = file

If file <> "" Then
fs.kill filepath
End If

'fs.kill oldFile ' Quelldatei löschen
   
        If Err.Number <> 0 Then
        HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).Visible = True
          HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).text = "Oops! #21 " & Err.Description
          Exit Sub
        End If
       
fs.setattr newFile, 1 ' Zieldatei auf 'Schreibschutz' setzen

    If Err.Number <> 0 Then
        HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).Visible = True
          HmiRuntime.Screens(SCREEN).ScreenItems(errFIELD).text = "Oops! #22 " & Err.Description
          Exit Sub
    End If
   
Set fs = Nothing ' Filesystem-Objekt freigeben

Hat Jemand eine Idee, welcher Prozess auf die Datei zugreifen könnte?

VG

MFreiberger

Viewing all articles
Browse latest Browse all 49839


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>