Maximale Dateinamenlänge

Anfängerfragen zum Programmieren mit PureBasic.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Maximale Dateinamenlänge

Beitrag von Agent »

Hallo Pbler.

Fragen zu Grenzen von PB und Win:

Wie lange darf ein Dateiname sein? Darf er auch über 255 Zeichen sein? Unterstützt dies PB (4) ?

Ich habe es nicht hinbekommen eine Datei zu erstellen, die mehr wie 255 Zeichen hat. Dafür hab ich mir auf die schnelle folgenden Code geschrieben:

Code: Alles auswählen

#sw_name="FileGen"

laenge=Val(InputRequester(#sw_name, "Länge des zu generierenden Dateinamens (Min 10)", "255"))
laenge_ext=Val(InputRequester(#sw_name, "Länge der Datei-Extention (Min 1)", "3"))
size=Val(InputRequester(#sw_name, "Gewünschte Größe der Datei in B (Min 1)", "1"))
If laenge>=10 And laenge_ext>=1 And size>=1
  targetdir$=PathRequester("Wohin soll die Datei gespeichert werden?","d:\")
  If targetdir$
    targetname$="TESTFILE_" : targetextention$=""
    For c=1 To laenge-9
      targetname$+Chr(65+Random(25))
    Next c    
    For c=1 To laenge_ext
      targetextention$+Chr(65+Random(25))
    Next c
  
    hFile = CreateFile(#PB_Any, targetdir$+targetname$+"."+targetextention$)
    Debug targetdir$
    Debug targetname$
    Debug targetextention$
    If hFile
      For c=1 To SIZE
        WriteByte(hFile, 31+Random(200))
      Next c  
      CloseFile(hFile)
      MessageRequester(#sw_name, "Datei erfolgreich erstellt",0)
    Else
      MessageRequester(#sw_name, "Konnte Zieldatei nicht erstellen", 0)
    EndIf  
  Else
    MessageRequester(#sw_name, "Pfadangabe fehlerhaft", 0)
  EndIf
Else
  MessageRequester(#sw_name, "Angaben fehlerhaft", 0)
EndIf
Vielen Dank für eure Posts ;)
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die maximale Länge des Dateinamens hängt allein vom betriebssystem ab,
darauf hat PB keinen einfluss.
irgendwo gab es konstanten wie
Max_Pathlength und Max_Filenamelength, jetzt frag mich aber nicht nach
deren Präfixen. das müssten API-Konstanten sein.

mit 255 zeichen könntest du recht haben.

und mal ganz ehrlich, wozu um alles in der Welt sollte man mehr Zeichen
im Filenamen brauchen. das isn Name und keine Kurzgeschichte.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Hi Kaeru.

Danke für Deine Antwort.

Also war meine Info schon korrekt, das dies vom OS abhängt.

Da hast Du natürlich recht, was die Dateilänge angeht. Für mich selbst war die Frage nichtmal, ich wollte mich nur absichern, da ein User mir diese Frage stellte - und da ich dann etwas unsicher wurde - fragte ich lieber mal nach. Aber das ist auch meine Info.

Naja, vielleicht hat mal jemand anders die gleiche Frage und dann wird er den Beitrag über die Forensuche finden ;)

Nochmal danke.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
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

Beitrag von ts-soft »

Maximale Pfadlänge = #MAX_PATH = 260
Dateinamen sind unterschiedlich in versch. Win Versionen, und je nach
Datenträger. Maximal 127 Zeichen sollte keine Probleme bereiten, auch auch
CDs
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.
Bild
Antworten