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
Gelöst - Ordnerinhalt lesen
Gelöst - Ordnerinhalt lesen
Zuletzt geändert von _v4 am 03.12.2012 20:29, insgesamt 1-mal geändert.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Ordnerinhalt lesen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Ordnerinhalt lesen
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:
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()
Zuletzt geändert von _v4 am 03.12.2012 17:53, insgesamt 1-mal geändert.
Re: Ordnerinhalt lesen
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()