 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Spongebob Schwamm
Anmeldungsdatum: 31.10.2004 Beiträge: 40
|
Verfasst am: 13.02.2005, 14:52 Titel: Kopieren von Dateien |
|
|
Hi!
Wie kann ich einen Bestimmten Ordner wie z.b. "Eigene Bilder" auf A:(Diskette) Kopieren?
mfg
Spongebob Schwamm |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 13.02.2005, 15:00 Titel: |
|
|
Die einfachste methode wäre ein DOS-Shell:
Code: |
SHELL "COPY C:\Eigene~1\*.* A:\"
|
Problem bei der sache:
1) Auf dem Bildschirm erfolgt eine Ausgabe (Kopiere... 1% komplett)
2) Du musst den richtigen DOS-Pfad angeben können.
Für 1) gibts ne bequeme lösung:
Code: |
SHELL "COPY C:\Eigene~1\*.* A:\ >NUL"
|
Dadurch wird die Ausgabe ins nirvana umgeleitet *g*
Für die Pfade müsstest du dir aber was einfallen lassen... nen Dos-Browser z.B. davon gibts ne ganze menge, schau mal auf qbasic.de, da is z.B. einer mit namen .... cdb-box.bas, oder so was...
naja.
ach ja, und wenn du nur bestimmte daten kopieren willst, musst du natürlich das *.* abändern, z.B. *.doc, oder meinbild.jpg
viel spaß mit der methode! _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 13.02.2005, 15:12 Titel: Kopieren von Dateien |
|
|
Hallo!
Ich glaube, in der MonsterFAQ steht da auch was..
Zum DOS-Copy-Befehl:
Der ist sehr lansam. Man kann Dateien auch direkt byteweise kopieren.
Code: |
OPEN FileName1$ FOR RANDOM ACCESS READ AS #1
OPEN FileName2$ FOR RANDOM ACCESS WRITE AS #2
DO UNTIL EOF(1)
GET #1, , byte
PUT #2, , byte
LOOP
CLOSE
|
Erklärung:
FileName1$ : Zu kopierende Datei
FileName2$ : Zu erstellende Datei
Hab ich jetzt nicht getestet, müsste aber klappen.
jb |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Quark48

Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 13.02.2005, 15:55 Titel: Noch was wichtiges... |
|
|
Hallo!
Achtung!
Wenn man einen Dateinamen angibt, muss man für DOS und DOS-Programme eine andere Schreibweise verwenden, wenn man lange Namen für die Dateien und Ordner nimmt (Name selber nicht länger als 8 Zeichen, Leerzeichen usw. mitgezählt) Bei Ordnern gilt das übrigens auch!
Wenn man z.B. eine Datei im Ordner "HallodasisteinTest" auf der Festplatte C hat, und eine Datei namens "Halloistdawer.txt" öffne will, geht das so:
OPEN "C:\Hallod~1\Halloi~1.txt" FOR .....
Wenn es mehrere Ordner und Dateien mit langen Namen und GLEICHEM ANFANG gibt, ändert sich das ~1 z.B. auch mal in ein ~2!
Unter Windows 98 (zumindest) bekommt man den "DOS-Spitznamen" so heraus:
Datei rechts anklicken, Eigenschaften wählen, dann den "MS-DOS-Dateinamen" (Oder ähnliche Bezeichnung, die in dem Fenster dann steht) aufschrieben, fertig!
Und noch einie wichtige Sache bei Dateinamen unter DOS & QB:
Nicht den Strich / (Große 7), sondern den Strich \ (Alt Gr und ß) nehmen!
MfG Quark48
ALias Spangengesicht [/code] _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 13.02.2005, 16:01 Titel: |
|
|
Eine Unschönheit hat die OPEN-basierte Kopierroutine noch: Modifikationsdatum un Dateiattribute entspricht nicht dem Original. Ist aber mit CALL INTERRUPT kein Problem, dieses noch setzen. Siehe dazu
http://beilagen.dreael.ch/QB/DATDEMO.BAS
http://beilagen.dreael.ch/QB/DAT_ATTR.BAS
Hinweise: Im ersteren Fall kann man sich das Auseinanderpflücken des Modifikationsdatums ersparen, in dem man die Register CX und DX 1:1 weiterreicht. Dasselbe auch bei den Attributen mit Register CX.
Unter MS-DOS 6.22 bekommt man damit bereits ein perfektes "-p" (Flag bei UNIX/Linux beim "cp"-Befehl). In Windows 95 müsste man noch auf die erweiterten Funktionen zurückgreifen und das Erstellungsdatum sowie Last Access ebenfalls clonen und ausserdem noch den langen Dateinamen mitübernehmen, wofür es unter
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/lfn_0het.asp
spezielle CALL INTERRUPTs gibt. Perfektionisten (nur NT 4.0/W2K/XP) wollen vielleicht sogar die ACL-Berechtigungen von NTFS mitkopieren... _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|