Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: Ordnerinhalt kopieren
Jan Sostaric
Datum:11.07.02 13:09 Antwortenals Email verschicken (jan@sostaric.at) 


Hallo Leute!

Ich hab endlich mal Zeit gefunden, mich ein bisschen an Profan zu setzen. Ich möchte ein bisschen mit Dateien herumkopieren.

Ok, eine einzige Datei kann ich so kopieren:

COPY "C:\Datei.dat" > "A:\Datei.dat"

Klappt wunderbar!

Jetzt möchte ich aber den Ordnerinhalt auslesen und kopieren.

Hier hab ich folgendes Beispiel entdeckt:

ClearList
ChDir "C:\SESAME"
AddFiles *"*.*"
@ListBox$("Ergebnis",1)

Ok, das erzeugt ein Fenster, in dem der ganze Ordnerinhalt aufgelistet ist.

Wie kann ich nun den durch AddFiles gefundenen Ordnerinhalt mit dem Copy-Befehl bearbeiten?

Hoffe, dass mir da jemand weiterhelfen kann.

Liebe Grüße, Jan


Rolf Koch
Datum:11.07.02 14:21 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Hi Jan,
habe mal schnell was geschrieben.
Wenn Du 4.5 oder so hast, musste Sachen wie
Createbutton umschreiben, oder mal mit der Sharewareversion testen. Meinen Code habe ich nämlich in der 7.0er Form geschrieben, also ohne LET und @
Naja, musst aber noch einiges abfragen, hier nur ein Beispiel:
'BITTE zum Testen einen vollen Ordner Namens C:\Test
'und einen leeren Ordner Namens C:\Test2 anlegen
'In einem richtigen Programm müsste auf Existenz
'geprüft werden!
'Aussdem wenn Zielpfad = A:\ ist, so prüfen,
'ob Diskette drin.


SETTRUECOLOR 1
DECLARE ENDE%,zahl%,Quell$,Ziel$
DECLARE LISTBOX1%,datei$
DECLARE GROUPBOX1%,v1$,v2$,firstz$
DECLARE BUTTON1%
DECLARE BUTTON2%
WINDOWSTYLE 31
WINDOW 22,20-333,344
WINDOWTITLE "Neues Fenster"
CLS @RGB(212,208,200)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1

' Hier kann ggf. Ihr Menü hin
FileMode 0		'NUR LESEN
LISTBOX1% =CREATE("LISTBOX",%HWND,"",0046,0036,0234,0179)
GROUPBOX1% =CREATE("GROUPBOX",%HWND,"",0020,0013,0281,0281)
BUTTON1% =CREATE("BUTTON",%HWND,"Kopieren",0052,0235,0070,0030)
BUTTON2% =CREATE("BUTTON",%HWND,"Ende",0200,0235,0070,0030)
DRAWICON "DRUCKER",0137,0234

'hier Pfadangaben - müssen natürlich existieren!!!!!!!
Let Quell$="C:\Test\"
Let Ziel$="C:\Test2\"

chdir "C:\TEST"
AddFiles "*.*" 
MoveListToList(listbox1%)
ClearList

WHILENOT ENDE%
WAITINPUT
zahl%=0
   If @EQU(%KEY,2)
      LET ENDE%= 1
   ELSEIF GETFOCUS(BUTTON1%) 'BUTTON
        Usecursor 2
	Whilenot equ(zahl%,@GetCount(listbox1%))
           if and(neq$(quell$,"[.]"),neq$(quell$,"[..]"))	
              datei$=@GetString$(listbox1%,zahl%)
              v1$=quell$;datei$
	      v2$=ziel$;datei$
              firstz$=@Mid$(datei$,1,1)
	      if neq$(firstz$,"[")
                 copy  v1$ > v2$
	      endif
	   endif
          inc zahl%
        wend
        usecursor 0
        messagebox("Hinweis","Fertig",64)
   ELSEIF GETFOCUS(BUTTON2%) 'BUTTON
	Let ENDE%=1
   ENDIF
WEND



Rolf Koch
Datum:11.07.02 14:27 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Noch was vergessen:
In meinem Beispiel werden nur reine Dateien kopiert.
Wenn Du auch noch die Unterordner kopieren willst,
musst Du ne zusätzliche Schleife bauen, in welcher nach
Firstz$ abgefragt wird.
(auch an [.] und [..] denken, das sind ja keine Verzeichnise ;)).
Aber dies würde hier den Rahmen sprengen ;)
Kuck mal ob Du so zuerst mal recht kommst.
Rolf


Jan Sostaric
Datum: 12.07.02 17:50 Antwortenals Email verschicken (jan@sostaric.at) 


Hallo Rolf!

Danke, hat mir sehr weitergeholfen :o)

Gruß, Jan


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!