Seite 1 von 1
Gelöst - Ordnerinhalt lesen
Verfasst: 03.12.2012 16:50
von _v4
Hallo,
wollte unter Windows den Inhalt eines Ordners lesen und dann die Dateinamen im Ordner nach der Reihe als String abarbeiten. Kann jemand sagen wie das grob geht?
Vielen Dank schonmal für die Hilfe!
__________________________________________________
Thread verschoben
Windows>Anfänger
03.12.2012
RSBasic
Re: Ordnerinhalt lesen
Verfasst: 03.12.2012 16:53
von ts-soft
Re: Ordnerinhalt lesen
Verfasst: 03.12.2012 17:50
von _v4
Danke für die schnelle Antwort. Hat mich soweit schon weiter gebracht. Habe auch gesehen, dass ich mit RenameFile() den Pfad der Datei ändern kann. Doch wie kann ich den Pfad von meiner aktuellen Datei abfragen?
Hier mal der Code soweit:
Code: Alles auswählen
OpenConsole()
If ExamineDirectory(0, Directory$, "*.jpg")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
; Dateinamen lesen
dateiname$ = DirectoryEntryName(0)
; Dateinamen am Unterstrich abschneiden und am Punkt
ordnername$ = StringField(dateiname$,2,"_")
ordnername$ = StringField(ordnername$,1,".")
; Dem Dateinamen ein s voranstellen
ordnername$ = "s" + ordnername$
; Wenn Ordner nicht vorhanden, dann anlegen
If (FileSize(ordnername$) <> -2)
CreateDirectory(ordnername$)
EndIf
; Dateipfad ermitteln
dateipfad_alt$ = GetPathPart(dateiname$)
dateiname_alt$ = dateipfad_alt$ + "\" + dateiname$
; Neuen Dateipfad aufbauen
dateipfad_neu$ = dateipfad_alt$ + "\" + ordnername$ + "\" + dateiname$
; Dateipfad umbenennen
RenameFile(dateiname_alt$, dateiname_neu$)
; Ausgabe
PrintN("Datei: " + dateiname$ + " verschoben " + dateipfad_alt$ + " " + dateipfad_neu$)
EndIf
Wend
FinishDirectory(0)
EndIf
Input()
CloseConsole()
Re: Ordnerinhalt lesen
Verfasst: 03.12.2012 17:51
von _v4
Gut. Hat sich erledigt. Hatte auch noch nen kleinen Fehler drin. Hab jetzt dafür den Dateipfad vom Programm verwendet, das kommt dann sowieso immer ins Projektverzeichnis. Hier der fertige Code:
Code: Alles auswählen
OpenConsole()
If ExamineDirectory(0, Directory$, "*.jpg")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
; Dateinamen lesen
dateiname$ = DirectoryEntryName(0)
; Dateinamen am Unterstrich abschneiden und am Punkt
ordnername$ = StringField(dateiname$, 2, "_")
ordnername$ = StringField(ordnername$, 1, ".")
; Dem Dateinamen ein s voranstellen
ordnername$ = "s" + ordnername$
; Wenn Ordner nicht vorhanden, dann anlegen
If (FileSize(ordnername$) <> -2)
CreateDirectory(ordnername$)
EndIf
; Dateipfad ermitteln
dateipfad_alt$ = GetPathPart(ProgramFilename())
dateiname_alt$ = dateipfad_alt$ + dateiname$
; Neuen Dateipfad aufbauen
dateiname_neu$ = dateipfad_alt$ + ordnername$ + "\" + dateiname$
; Dateipfad umbenennen
RenameFile(dateiname_alt$, dateiname_neu$)
; Ausgabe
PrintN("Datei: " + dateiname$ + " verschoben ")
EndIf
Wend
FinishDirectory(0)
PrintN("Fertig!")
EndIf
Input()
CloseConsole()