pixxma: Regeln für Dateibezeichnungen (Dateinamen)?

Moinsen,

(1) Ich habe mal gelernt, dass bei Dateibezeichnungen innerhalb von HTML-Projekten Leerzeichen und deutsche Umlaute zu vermeiden sind. Außerdem solle man stets nur Kleinbuchstaben benutzen. – Handelt es sich hierbei um Regeln, die von HTML vorgegeben werden oder bloß um Konventionen, die sich quasi als Stil entwickelt haben?

(2) Ist man unter Windows eigentlich völlig frei, was die Gestaltung von Dateinamen angeht? Meines Wissens nach ja: ich gehe davon aus, dass man sowohl mehrere Leerzeichen als auch mehrere Punkte, als auch Umlaute innerhalb eines eines Dateinamens verwenden darf – sowie auch alle Satz- und Sonderzeichen mit Ausnahme von   < > ? " : | \ / *

In freudiger Erwartung Eurer Antworten:

pixxma

  1. Tach,

    (1) Ich habe mal gelernt, dass bei Dateibezeichnungen innerhalb von HTML-Projekten Leerzeichen und deutsche Umlaute zu vermeiden sind. Außerdem solle man stets nur Kleinbuchstaben benutzen. – Handelt es sich hierbei um Regeln, die von HTML vorgegeben werden oder bloß um Konventionen, die sich quasi als Stil entwickelt haben?

    das ist nur eine Konvention. HTML hat damit gar nichts zu tun, im Web ist interessant, was in einer URI erlaubt ist, und HTTP hat dann mit Dateien im Prinzip auch nix mehr zu tun. Wichtig ist nur, dass der Webserver die Dateien finden muß und den entsprechenden URIs zuordnen kann.

    (2) Ist man unter Windows eigentlich völlig frei, was die Gestaltung von Dateinamen angeht? Meines Wissens nach ja: ich gehe davon aus, dass man sowohl mehrere Leerzeichen als auch mehrere Punkte, als auch Umlaute innerhalb eines eines Dateinamens verwenden darf – sowie auch alle Satz- und Sonderzeichen mit Ausnahme von   < > ? " : | \ / *

    NTFS verbietet NUL und /, die restlichen Einschränkungen kommen aus Windows, wichtig ist auch noch die Beschränkung der Gesamt-Pfadlänge unter Windows auf 255 Zeichen (auch hier deutlich Eingeschränkt gegenüber der Fähigkeit von NTFS).

    mfg
    Woodfighter

    1. Hello,

      NTFS verbietet NUL und /, die restlichen Einschränkungen kommen aus Windows, wichtig ist auch noch die Beschränkung der Gesamt-Pfadlänge unter Windows auf 255 Zeichen (auch hier deutlich Eingeschränkt gegenüber der Fähigkeit von NTFS).

      Wenn man mit Excel arbeitet, sollte man sich zum Bsp. auch [ und ] im regulären Dateinamen verkneifen.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
  2. Hallo,

    (1) Ich habe mal gelernt, dass bei Dateibezeichnungen innerhalb von HTML-Projekten Leerzeichen und deutsche Umlaute zu vermeiden sind. Außerdem solle man stets nur Kleinbuchstaben benutzen. – Handelt es sich hierbei um Regeln, die von HTML vorgegeben werden oder bloß um Konventionen, die sich quasi als Stil entwickelt haben?

    mit HTML hat das nichts zu tun; es sind tatsächlich Konventionen, die sich aus dem Wunsch nach größtmöglicher Kompatibilität verschiedener Systeme untereinander ergeben.
    Für HTTP-Ressourcennamen gelten teilweise wieder andere Kriterien - hier sind beispielsweise Zeichen wie '*' erlaubt, Leerzeichen dagegen nicht, und Zeichen mit Codes >0x7F sind problematisch, solange deren Codierung nicht eindeutig ist.

    (2) Ist man unter Windows eigentlich völlig frei, was die Gestaltung von Dateinamen angeht?

    Weitgehend, ja. Es gibt ein paar Zeichen, die aufgrund ihrer Sonderbedeutung in Dateinamen nicht erlaubt sind, du hast sie unten bereits aufgezählt.

    Meines Wissens nach ja: ich gehe davon aus, dass man sowohl mehrere Leerzeichen als auch mehrere Punkte, als auch Umlaute innerhalb eines eines Dateinamens verwenden darf – sowie auch alle Satz- und Sonderzeichen mit Ausnahme von   < > ? " : | \ / *

    Soweit ich weiß, sind auch Steuerzeichen (Codes <0x20) nicht zulässig, da bin ich aber nicht ganz sicher. Bliebe noch festzuhalten, dass Windows zwar Groß- und Kleinbuchstaben exakt wiedergibt, aber bei Namensvergleichen als gleich betrachtet. Während unter Unix-artigen Systemen also die Dateien Test.txt und test.txt unterschiedlich sind und daher beide in demselben Verzeichnis existieren können, betrachtet Windows die beiden Dateinamen als gleich. Beim Anlegen von test.txt wird daher eine möglicherweise vorhandene Test.txt kommentarlos[1] überschrieben.

    So long,
     Martin

    [1] Einige Dateimanager, so auch der Windows-Explorer, prüfen vorher selbst, ob eine gleichnamige Datei schon existiert. Das Betriebssystem tut das aber nicht.

    --
    Kleine Geschenke erhalten die Freundschaft.
    Große verderben sie aber meist auch nicht.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo,

      mit HTML hat das nichts zu tun; es sind tatsächlich Konventionen, die sich aus dem Wunsch nach größtmöglicher Kompatibilität verschiedener Systeme untereinander ergeben.

      Hast Du Lust, das noch auszuführen? In welchen Fällen wäre z.B. die Kompatibilität gefährdet?

      Danke an alle Antworter!

      MfG

      pixxma

      1. Hi,

        es sind tatsächlich Konventionen, die sich aus dem Wunsch nach größtmöglicher Kompatibilität verschiedener Systeme untereinander ergeben.
        Hast Du Lust, das noch auszuführen? In welchen Fällen wäre z.B. die Kompatibilität gefährdet?

        versuch mal, eine Datei mit dem Namen "Trefferchance 50:50.pdf" von Linux zu Windows zu kopieren.

        Ich möchte da einen Fall aus meiner eigenen Erfahrung als Beispiel anführen: Ich habe Mitschnitte von Fernsehfilmen meist auf einem Ubuntu-Rechner mit ext3-Filesystem gespeichert. Nun wollte ich einen Film (eine ganz gewöhnliche MPEG2-Videodatei mit rund 1.5GB) auf einen Windows-PC umkopieren und bekam jedesmal eine eigenartige Fehlermeldung (an den Wortlaut erinnere ich mich nicht mehr). Potzblitz, dachte ich, das ging doch sonst immer! Bis mir auffiel, dass im Dateinamen ein Doppelpunkt ':' vorkam. Linux fand das okay, ein ganz normales Zeichen im Dateinamen; Windows kriegt bei sowas aber einen Rappel.

        Allgemein gesagt: Jedes Betriebssystem, teilweise sogar jedes Dateisystem hat andere Einschränkungen und schließt bestimmte Zeichen aus. Übrig bleibt irgendwann eine kleine gemeinsame Schnittmenge. Auch das Beispiel mit der Groß- und Kleinschreibung, das ich schon erwähnte, zeigt ein mögliches Problem.

        Genügt das als Denkanstoß?

        So long,
         Martin

        --
        Paradox ist, wenn jemand eingefleischter Vegetarier ist.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hello,

          Allgemein gesagt: Jedes Betriebssystem, teilweise sogar jedes Dateisystem hat andere Einschränkungen und schließt bestimmte Zeichen aus. Übrig bleibt irgendwann eine kleine gemeinsame Schnittmenge. Auch das Beispiel mit der Groß- und Kleinschreibung, das ich schon erwähnte, zeigt ein mögliches Problem.

          So sieht das aus!
          Ich habe mal in meiner frühen Programmiererkarriere Programme für den Dateienverkehr und die Verarbeitung zwischen OS400 und PC geschrieben. Da hat man dann EBCDIC zu ASCII. War auch ganz lustig, bis ich beiden Seiten beigebracht hatte, welche Zeichen sie doch bitte nicht verwenden sollen (auch in den Dateien), weil sie sich nicht übersetzen lassen.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Mörci@all, dat reicht erstmal:-)
            Wieder 'was Grundlegendes dazu gelernt...
            MfG
            pixxma