Datei vorhanden?

- essays
- javascript
Hallo Freunde
ich will prüfen, ob eine Datei vorhanden ist und benutze:
fs.existsSync("dateiname")
das klappt auch, leider wird nicht zw Groß und Kleinschreibung unterschieden
Also "dateiname" und "DATEIname" werden gleich behandelt.
Ich möchte es case-sensetiv haben!
Danke
Hallo
ich will prüfen, ob eine Datei vorhanden ist und benutze:
fs.existsSync("dateiname")
das klappt auch, leider wird nicht zw Groß und Kleinschreibung unterschieden
In welchem Betriebssystem versuchst du das?
Tschö, Auge
Lieber effel,
interessantes Tag „essays“ verwendest Du da... o_O
Also "dateiname" und "DATEIname" werden gleich behandelt.
Das klingt nach Windows. Dort ist Dein Problem nicht lösbar.
Liebe Grüße
Felix Riesterer
Hallo Felix,
Lieber effel,
interessantes Tag „essays“ verwendest Du da... o_O
Also "dateiname" und "DATEIname" werden gleich behandelt.
Das klingt nach Windows. Dort ist Dein Problem nicht lösbar.
Es geht imho um das file System bei node.js
Ihr habt da im Wiki leider nur einen Stub:
Bis bald!
Jonathan
Lieber Jonathan,
Es geht imho um das file System bei node.js
wäre node.js denn prinzipiell in der Lage die Dateinamen case-sensitive zu behandeln, wenn Windows als unterliegendes OS es nicht kann?
Ihr habt da im Wiki leider nur einen Stub:
Da ich keinerlei Berührungen mit node.js habe und hatte, kann ich da leider nichts zu beitragen.
Liebe Grüße
Felix Riesterer
Hallo effel,
wenn du case-sensitive in Nodejs für fs module haben möchtest, musst du auch ein entsprechendes Filesystem verwenden, das case-sensitive ist. Sonst wird das nichts. Steht auch so in der Doku von Node.js
"Case Preservation
You may create a directory called test/abc and be surprised to see sometimes that fs.readdir('test') returns ['ABC']. This is not a bug in Node. Node returns the filename as the filesystem stores it, and not all filesystems support case-preservation. Some filesystems convert all filenames to uppercase (or lowercase)."
Kurzum, nutze ein Betriebssystem, das entsprechende Filesysteme beherrscht/unterstützt. Oder nutze eine Datenbank, mit der man gut ein FS (mit einem Wrapper) immitieren kann.
Gruss
Michael
Hallo effel,
du kannst globSync("dateiname") verwenden.
Zuerst sicher stellen, dass der Name kein Wildcardzeichen enthält. Dann globSync aufrufen. Das Ergebnis ist, weil keine Wildcards im Namen sind, ein Array mit 0 oder 1 Einträgen.
0 Einträge: Datei existiert nicht. 1 Eintrag: dateiname wie im Filesystem. Führe einen Stringvergleich durch um sicher zu sein, dass die Schreibweise passt.
Ob das SINNVOLL ist, ist eine andere Frage.
Unter Windows kann man, wenn WSL aktiv ist und man NTFS verwendet, pro Verzeichnis festlegen, ob es case sensitive sein soll. Ich habe das mal gemacht, weil ich ein git Repository klonen musste, das Dateien enthielt die sich nur in der Schreibweise unterschieden. Ich müsste erstmal raussuchen, wie das geht.
Rolf
Hallo an alle die auf meine Frage geantwortet haben:
Ich habe verstanden: case-sensitive ist Sache des verwendeten Systems, also bei mir Windows. Und tatsächlich ist "DATeiname" == DateiName" Ich habe das in meinen Bschreibungen ergänzt.
Danke an alle die schrieben haben
Effel