kleine Prozedur zum Verschieben von Files einer bestimmten Dateiart für alle die, die ihre Dateien überall hinspeichern und nun an eine zentrale Stelle bringen wollen. Der Code ist in PB 3.94, lässt sich aber bestimmt leicht auf PB4 migrieren:
Code: Alles auswählen
Procedure verschiebe(StartPfad.s, Zielpfad.s, dateiart.s)
;sucht und verschiebt die angegebene Dateiart beginnend im Startpfad und allen Unterordnern auf den Zielpfad
;Beispielaufruf: verschiebe("c:\test", "d:\eigene dateien", "xls")
Protected DirID.l, DateiTyp.b, quit.b, verz.s, DName.s, quelle.s, ziel.s
DirID = ExamineDirectory(#PB_Any, StartPfad, "*.*")
If DirID
Repeat
DateiTyp = NextDirectoryEntry()
Select DateiTyp
Case 0; Abbruch
quit = 1
Case 1; Datei
DName = DirectoryEntryName()
If LCase(dateiart) = Right(LCase(DName), 3)
quelle = StartPfad + "\" + DName
Debug "verschiebe: " + quelle
ziel = Zielpfad + "\" + DName
MoveFile_(@quelle, @ziel)
EndIf
Case 2; Directory
DName = DirectoryEntryName()
If DName <> "." And DName <> ".."
;nur wenn nicht selbst und nicht parent
verschiebe(StartPfad + "\" + DName, Zielpfad, dateiart)
UseDirectory(DirID)
EndIf
EndSelect
Until quit
EndIf
EndProcedure
Gruß Karl
No, no one ever hacked an AI.