TIA vb Script -> Datei mit FileCopy überschreiben

asm

Level-2
Beiträge
71
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe hier ein TP700 im Einsatz und kopiere über ein script eine Datei von a > b.

Das funktioniert auch.

Wenn ich das script erneut ausführe, verweigert er aber das kopieren, da die Datei schon vorhanden ist.

Unter Windows gibt es die gleiche Funktion (CopyFile), die einen 3. Parameter erlaubt .. overwrite false/true

Wie kann ich das unter WinCE einfach lösen? So sieht der Code zZ aus:

Code:
Dim f, quelle, ziel
quelle = "\Storage Card SD\test.txt" 'Quellpfand mit Datei
ziel = "\flash\Kunde\"               'Zielpfad

Set f = CreateObject("FileCtl.FileSystem") 
If f.dir(quelle) = "" Then Exit Sub    'Abbruch, wenn Datei nicht vorhanden
If f.dir(ziel) = "" Then f.mkdir(ziel) 'Ordner "\flash\Kunde" erstellen, falls nicht vorhanden
ziel = ziel & "test.txt"
f.filecopy quelle,ziel
 
Zuletzt bearbeitet:
Moin asm,

wenn Du die Datei überschreiben willst, kannst Du sie doch auch einfach löschen, bevor die neue Datei in das Verzeichnis kopiert wird.

VG

MFreiberger
 
Falls die Zieldatei schon existiert dann vorher löschen:
Aus meinem WCCF/VBS-Fundus:
Code:
[COLOR="Green"]' Sub FileCopy(SourceFile, DestFile) kopiert eine Datei
' Skript kann unter Panel-WinCE und PC-Windows laufen
'[/COLOR]
[COLOR="Blue"]Dim[/COLOR] fso
[COLOR="blue"]If[/COLOR] SmartTags([COLOR="Sienna"]"_System\!_RT-Sim_!"[/COLOR]) [COLOR="blue"]Then[/COLOR] [COLOR="Green"]'PC-Windows[/COLOR]
    [COLOR="blue"]Set[/COLOR] fso = [COLOR="blue"]CreateObject[/COLOR]([COLOR="sienna"]"Scripting.FileSystemObject"[/COLOR])
    fso.CopyFile SourceFile, DestFile
[COLOR="blue"]Else[/COLOR] [COLOR="green"]'WinCE[/COLOR]
    [COLOR="blue"]Set[/COLOR] fso = [COLOR="blue"]CreateObject[/COLOR]([COLOR="sienna"]"FileCtl.FileSystem"[/COLOR])
    [COLOR="green"]'fso.FileCopy erzeugt Runtime-Error, wenn DestFile schon existiert[/COLOR]
    [COLOR="blue"]If[/COLOR] fso.Dir(DestFile) <> [COLOR="sienna"]""[/COLOR] [COLOR="blue"]Then[/COLOR] fso.Kill DestFile
    fso.FileCopy SourceFile, DestFile
[COLOR="blue"]End If[/COLOR]
Damit ich meine Panel-Projekte komplett unter Windows XP testen/simulieren kann,
habe ich im WCCflexible-Projekt eine interne Panel-Variable "_System\!_RT-Sim_!"
vom Typ Byte, deren Startwert ich auf 0 oder 1 festlege, je nachdem, ob die Runtime
auf dem Panel oder auf dem WinXP-Testsystem laufen soll:
0 = RT auf WinCE-Panel / >=1 = RT auf PC (Simulation/Test)

Harald
 
Zurück
Oben