PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopieren


HTM
05.08.2002, 13:07
Moggen

Also ich wollte fragen ob mir einer sagen kann wie ich mit VB dateien kopieren kann ( ich brauch das fürn installwizard )?

:mauer:


Chaq
05.08.2002, 14:13
Mit dem Befehl "FileCopy":

Dim SourceFile, DestinationFile
SourceFile = "SRCFILE" ' Define source file name.
DestinationFile = "DESTFILE" ' Define target file name.
FileCopy SourceFile, DestinationFile ' Copy source to target.

Gefunden auf: http://www.quantumjamm.com/code/vb/source/vb/103.htm

Gruß

Chaq

HTM
07.08.2002, 04:32
Danke erstmal funktioniert supa. :D

Also ich muss den pfad imma ganz angeben:

SourceFile = "C:/1.txt"

kann ich auch c:/ weg lassen?

die exe is im selben ordner

SourceFile = "/1.txt"
SourceFile = "1.txt"

das hab ich schon ausprobiert, aber da findet er den pfad/die datei nich :(

cYrus
07.08.2002, 15:18
SourceFile = "/1.txt"

versuchs mal mit nem punkt!

SourceFile = "./1.txt"

greez
cYrus

HTM
07.08.2002, 18:38
hmm funktioniert auch net.
das is mein befehl

Private Sub Form_Load()
Label1.Visible = False
KN = FreeFile()
Open "C:/tmp/123.txt" For Input As KN
Input #KN, Pfad
MkDir Pfad
Dim SourceFile, DestinationFile As String
SourceFile = "./1.txt"
DestinationFile = Pfad & "1.txt"
FileCopy SourceFile, DestinationFile
Close KN
End Sub


und das geht ja auch

DestinationFile = Pfad & "1.txt"

deswegen kapier ich net warum das andere net so geht :confused:

Chaq
07.08.2002, 19:47
SourceFile = "./1.txt"
Diese Konstruktion ist mir nur von Linux bekannt.

die exe is im selben ordner
Wenn man auf eine Datei zugreifen will, die im gleichen Verzeichnis wie das Programm selbst liegt, kann man folgende Konstruktion verwenden:
SourceFile = App.path + "\1.txt"

Gruß

Chaq

cYrus
07.08.2002, 20:31
Original geschrieben von Chaq

Diese Konstruktion ist mir nur von Linux bekannt.


also das ist ne ganz normale verzeichnissangabe in windows bzw. gibts schon immer.. (auch dos ;) )

./ == aktuelles verzechnis
../ == übergeordnetes verzechnis


@HTM
ansonsten kannst du eben mit app.path den aktuellen pfad der exe rausfinden -> wies chaq gesagt hat..

so long
cYrus

HTM
07.08.2002, 21:14
das funktioniert imma noch nich. *heul*

ich weiß echt nich was ich falsch mache aber der sacht mir imma Pfad/datei nich gefunden und laufzeitfehler 75

Dim SourceFile, DestinationFile As String
SourceFile = App.Path + "1.txt"
DestinationFile = Pfad & "1.txt"
FileCopy SourceFile, DestinationFile

vielleicht könnt ihr ja was mit anfangen

Gruss

Chaq
07.08.2002, 21:52
SourceFile = App.Path + "/1.txt"

So muss die Zeile lauten, da App.Path nicht auf "/" endet. :eek:

@cYrus: hab schon lange nicht mehr unter Windows bzw. DOS auf der Konsole rumgewerkelt, weshalb mir das wohl entfallen ist :)

Gruß

Chaq

HTM
08.08.2002, 17:11
Ok dannge jetz gehtz :)

green
11.08.2002, 15:15
wenn du mehrere dateien kopieren willst ist FileCopy ziemlich umständlich, da du jede datei einzeln kopieren musst
Mehrere dateien lassen sich gut mit dem FileSystemObject kopieren
dazu musst du zuerst unter "extras"-->"verweise"-->"Microsoft Scripting" einbinden
dann:

Dim fso as New FileSystemObject
'wenn du z.b. alle dateien aus einem ordner kopieren willst dann
fso.CopyFile "Dateiherkunf"&"\*.*","ziel"&"\*.*,true/false '<-- true wenn vorhandene dateien gleichen namens überschrieben werden sollen, wenn nicht dann false

es lassen sich auch die ordner komplett mit ihrem inhalt kopieren

fso.CopyFolder "Ordnerherkunft","Ziel",true/false

wollt das nur mal gesagt haben, hab nähmlich auch mal in install wizard gemacht und mit dem normalen FileCopy tippt man sich die finger wund

PS: weiss nicht ob der code so richtig ist, mein VB streikt zur zeit
------------------------------
cu green

HTM
12.08.2002, 21:36
eh das warn guter tip! thx

aba ich hab noch ne klitze kleine frage

Ich erstell mit

Mkdir ordner

einen ordner.

bloss wenn der ordner schon da is dann sagt da mir ne fehlermeldung :( Wie kann ich abfragen ob der ordner da is oda nicht :o :o

oda vielleicht gibs ja n befehl der den ordner nur erstellt wenn na nich da is :)

gruß

green
13.08.2002, 14:56
hab im moment kein VB zur verfuegung, kann dir also nur ungefaehr sagen wies geht

mit dem befehl

dir(pfad)

z.b. if dir("c:/programme") then

wenn der ordner c:/programme existiert dann....

schau aber am besten nochmal in der msdn nach wie genau man den befehl benutzt

green
13.08.2002, 14:57
hab im moment kein VB zur verfuegung, kann dir also nur ungefaehr sagen wies geht

mit dem befehl

dir(pfad)

z.b. if dir("c:/programme") then

wenn der ordner c:/programme existiert dann....


es gibt noch die moeglichkeit mit dem FileSystemObject

fso.FolderExists(pfad)

von der weiss ich aber nichts genaues


schau aber am besten nochmal in der msdn nach wie genau man den befehl benutzt