Durchwandern eines Datei Baums. Ziel: Datei in alle Unterver
-
- Beiträge: 26
- Registriert: 20.07.2005 15:21
Durchwandern eines Datei Baums. Ziel: Datei in alle Unterver
Durchwandern eines Datei Baums. Ziel: Datei in alle Unterverzeichnisse kopieren. (so sollte der Titel lauten!)
--------------------------------------------------------------------------------------
Hallo,
ich habe folgendes Problem, ich möchte eine Datei in alle Unterverzeichnisse eines Dateibaums kopieren. Irgendwo habe ich mal gehört, man solle Dateibäume möglichst nicht rekursiv durchwandern. Das ganze soll noch per FTP geschehen. Wie würdet ihr das machen? Erst den gesamten Dateibaum einlesen? Also, eine Datei per FTP ist Dank der FTP-Libraries nicht das Problem, oder sollte es nicht sein. Aber das Durchwandern des Dateibaums macht mir Kopfzerbrechen.
Beste Grüße
Frank
--------------------------------------------------------------------------------------
Hallo,
ich habe folgendes Problem, ich möchte eine Datei in alle Unterverzeichnisse eines Dateibaums kopieren. Irgendwo habe ich mal gehört, man solle Dateibäume möglichst nicht rekursiv durchwandern. Das ganze soll noch per FTP geschehen. Wie würdet ihr das machen? Erst den gesamten Dateibaum einlesen? Also, eine Datei per FTP ist Dank der FTP-Libraries nicht das Problem, oder sollte es nicht sein. Aber das Durchwandern des Dateibaums macht mir Kopfzerbrechen.
Beste Grüße
Frank
Also was du da gehört hast mit NICHT Rekursiv ist IMHO fölliger Käse. Mach es Rekursiv und es ist kein Problem. Bsp folgt später.
Und hier der Code:
Dir.s=Ist der StartPfad
ID=Ist die Erste ID des ExamineDirectorys() kann eigendlich immer 1 oder 0 sein außer du hast schon eine Überprüfung eines Ordners
File.s=Ist das File dass du verbreiten möchtest, dies kann (glaube ich) auch mit einem Pfad sein.
Achja und wenn du lust hast kannst du ein Tool schreiben dass die Datei "Büro.txt" aus jedem Verzeichnis in "C:\" löscht, dass könnte ich jetzt nämlich gebaruchen
Und hier der Code:
Code: Alles auswählen
Procedure SaveInDir(Dir.s,ID,File.s)
ExamineDirectory(ID,Dir.s,"")
Debug Dir.s
CopyFile(File.s,Dir.s+GetFilePart(File.s))
Repeat
Select NextDirectoryEntry()
Case 2
Name.s=DirectoryEntryName()
If Name.s<>"." And Name.s<>".."
SaveInDir(Dir.s+Name.s+"\",ID+1,File.s)
UseDirectory(ID)
EndIf
Case 0
ProcedureReturn 1
EndSelect
ForEver
EndProcedure
SaveInDir("C:\",1,"Büro.txt")
ID=Ist die Erste ID des ExamineDirectorys() kann eigendlich immer 1 oder 0 sein außer du hast schon eine Überprüfung eines Ordners
File.s=Ist das File dass du verbreiten möchtest, dies kann (glaube ich) auch mit einem Pfad sein.
Achja und wenn du lust hast kannst du ein Tool schreiben dass die Datei "Büro.txt" aus jedem Verzeichnis in "C:\" löscht, dass könnte ich jetzt nämlich gebaruchen

Kommt schon

Code: Alles auswählen
Procedure.s delFiles(directory.s , directoryid.l )
If Right(directory,1)<>"\"
directory+"\"
EndIf
ExamineDirectory(directoryid,directory,"*.*")
dirid=NextDirectoryEntry()
While dirid
If dirid=2
If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."
delFiles(directory+DirectoryEntryName()+"\",directoryid+1)
UseDirectory(directoryid)
EndIf
ElseIf dirid=1
If DirectoryEntryName()="Büro.txt"
DeleteFile(directory+"Büro.txt")
EndIf
EndIf
dirid=NextDirectoryEntry()
Wend
ProcedureReturn ""
EndProcedure
delFiles("C:\temp\",0)
Zuletzt geändert von Macros am 26.12.2005 01:22, insgesamt 1-mal geändert.
Ist folgendes FTP gemeint?
http://de.wikipedia.org/wiki/Ftp_%28Software%29
Sonst kenne ich nur das FTP Protokoll, das hat aber was mit Netzwerk zu tun.
http://de.wikipedia.org/wiki/Ftp_%28Software%29
Sonst kenne ich nur das FTP Protokoll, das hat aber was mit Netzwerk zu tun.
-
- Beiträge: 26
- Registriert: 20.07.2005 15:21
Ja, genau Kiffi! Also, was meint ihr? Den Dateibaum komplett einlesen und in ein Array oder so speichern, und dann in alle Unterverzeichnisse meine Datei kopieren. Hintergrund der Aktion ist ich lade öfters eine "php.ini" in alle Unterverzeichnisse auf FTP-Server. Da ich das bisher immer manuell macheKiffi hat geschrieben:> Und hier der Code:
... der jedoch nicht mit FTP funktioniert.
Frank Smart hat geschrieben:Das ganze soll noch per FTP geschehen

Frank
Zuletzt geändert von Frank Smart am 26.12.2005 01:28, insgesamt 1-mal geändert.
äh, FTP = File Transfer ProtocolKonne hat geschrieben:Ist folgendes FTP gemeint?
http://de.wikipedia.org/wiki/Ftp_%28Software%29
Sonst kenne ich nur das FTP Protokoll, das hat aber was mit Netzwerk zu tun.

( Liest eigentlich irgendwer diese Titel? )
Welches FTP-Programm nutzt du denn zur Zeit?
-
- Beiträge: 26
- Registriert: 20.07.2005 15:21
Also ich nutze den Total Commander als FTP-Client. Aber ich möchte mir auf Grundlage der beiden als Userlibraries verfügbaren FTP-Libs ein kleines Tool schreiben, um mir das kopieren der "php.ini" in alle Unterverzeichnisse zu erleichtern. Welche FTP-Lib ist für diesen Zweck besser geeignet, die von Paul Leischow oder die von num3?Batze hat geschrieben:Welches FTP-Programm nutzt du denn zur Zeit?