Nach zurückkommen in den Ordner fängt alles neu an.
Übersicht

![]() |
etlamBetreff: Nach zurückkommen in den Ordner fängt alles neu an. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich bin gerade dabei, ein kleines Programm zu machen, das einen Ordner, den man angibt auf doppelte Files überprüft. Hier erstmal der Code: Code: [AUSKLAPPEN] dateinamen = WriteFile("dateinamen.dat")
dirr$ = CurrentDir$() verzeichniss$ = Input("Verzeichnis (z.b:'C:\'):") Print ("Gewaeltes Verzeichnis: '" + verzeichniss$ + "'") Print ("Starte...") ChangeDir(verzeichniss$) If Not CurrentDir$()=verzeichniss$ Then RuntimeError("Directory does not exist..sorry") Verz=ReadDir(CurrentDir$()) NextFile$(Verz) NextFile$(Verz) steckedrin% = 0 Repeat Datei$=NextFile$(Verz) If Datei$="" Then If steckedrin% > 0 Then CloseDir Verz ChangeDir("..") Verz=ReadDir(CurrentDir$()) steckedrin% = steckedrin% - 1 Else Exit EndIf EndIf If FileType(CurrentDir$()+Datei$) = 2 Then Print "Ordner:" + Datei$ CloseDir Verz ChangeDir(Datei$) Print (CurrentDir$()) Verz=ReadDir(CurrentDir$()) steckedrin% = steckedrin% + 1 NextFile$(Verz) NextFile$(Verz) Else Print "Datei:" + Datei$ WriteLine(dateinamen,Datei$) End If Delay 500 Forever CloseDir Verz Print "FERTIG!!!" Das soll jetzt einfach in jeden Ordner reingehen, und alle Dateien in "dateinamen.dat" schreiben. Nur leider funktioniert das nicht so ganz, wie ich es will, wenn Der Prüfordner so aussieht: Ordner: _____-lala.txt _____-blub.dat _____-Ordner x __________-info.dat _____-y.txt Dann wird zuerst lala.txt, blub.dat, info.dat und dann wieder lala.txt angegeben, das ganze geht dann immer so weiter... Hat jemand vielleicht eine Lösung, wie ich es machen könnte, dass nach info.dat dann y.txt kommt? Vielen Dank für die Hilfe schonmal im voraus etlam PS: Tut mir leid für den Titel, mir ist kein besserer eingefallen. |
||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mein Tipp ist wenn ich das so geschwind durchlese:
Lies dein Stammverzeichnis in Types oder DIM-Variablen ein, wenn du wieder ins Stammverzeichnis zurückgehst liest es sonst immer alles von vorne. Keine Garantie, da ich es nicht getestet hab. |
||
antome |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
sowas schreit förmlich nach ner rekursiven funktion ![]() Code: [AUSKLAPPEN] Function scandir(verzeichnis$)
dir=ReadDir(verzeichnis$) datei$=NextFile$(dir) While datei$="." Or datei$=".." datei$=NextFile$(dir) wend While Not datei$="" If FileType(verzeichnis$+datei$)=2 scandir(verzeichnis$+datei$+"\") Else count=count+1 endif datei$=nextfile$(dir) Wend CloseDir (verzeichnis$) End function die funktion rufste dann z.b. so auf: scandir("c:\windows\") wichtig ist der letzte backslash...ohne den werden ansonsten verzeichnisse wie files behandelt. mit Code: [AUSKLAPPEN] Print count kannste die anzahl aller dateien anzeigen. vergiss dabei nicht, count als global zu definieren. l8er, psy |
||
![]() |
etlam |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank,
etlam |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group