Hallo Besucher, der Thread wurde 8,5k mal aufgerufen und enthält 45 Antworten

letzter Beitrag von syshack am

Bei Win10 startet bei Programmen ohne Endung immer das falsche Programm.

  • Nicht zu unterscheiden zwischen test. und test muß definitiv als Bug Feature betrachtet werden. ;)

  • Bei Windows ist der Übergang zwischen Bug und Feature fliessend... :)

    Als Micro$oft erfolgreich seinen Flugsimulator II am Markt etablieren konnte, kam denen die Idee ein Betriebssystemsimulator mit grafische Oberfläche zu lanzieren ;)

  • Könnte von Datum hinkommen FSII 1984, Win1 1985
    Von dem abgesehen war ein Punkt zuviel im Namen einer Datei in Win schon immer ein Chaosbringer
    Wer rechnet dann schon mit keinem Punkt....
    Außerdem sollte man auch Sonderzeichen "Ä,Ö,Ü,etc" nur dann verwenden, wenn man viel Spaß haben will....

  • Und von Win mal abgesehen das trifft auch auf alle anderen BS zu

    Kann ich definitiv NICHT bestätigen.


    Bin seit eh und jeh mit Debian unterwegs, und habe sowohl Sonderzeichen (öäüß) als auch Space's in meine Dateinamen.
    Alles kein Problem. (default fs = ext4 auf voll verschlüsseltem LVM)


    Add.: Naja, mehr als nur die deutschen Sonderzeichen. Ich benutze auch -> ţ ă ş sowie die französischen Zeichen œ und ç. Dazu kommen dann noch die Accents, gelle: ' ` ^



    :-D

  • Leerzeichen sind auch nicht wirklich ein Problem.
    Man muss halt Pfade komplett in Anführungszeichen setzen. Ist aber auch nicht Rocket-Science.
    Umlaute sind kein Problem. Man muss aber auch keine DOS Tools aus den 90ern verwenden und sich dann wundern.
    Jedes OS hat halt seine Spezialitäten und Beknacktheiten, ist halt so. Wichtig ist, dass man sich anpasst wo nötig und dann kann man auch damit arbeiten.

  • Leerzeichen sind auch nicht wirklich ein Problem.
    Man muss halt Pfade komplett in Anführungszeichen setzen. Ist aber auch nicht Rocket-Science.

    ... und sicherstellen, daß wirklich alle Scripte das tun. Beim Neuschreiben kein Problem, wobei manche Konstrukte schwerer werden und man $IFS temporär ändern muss. Aber kann man sicher sein, daß auch der ganze alte Kram SPACEs korrekt behandelt?


    Meine Erfahrung diesbezüglich ist, daß die Vermeidung von SPACEs in Dateinamen einem eine Menge Ärger spart der sonst immer dann hochkommt wenn man es am wenigsten erwartet.

  • ... und sicherstellen, daß wirklich alle Scripte das tun. Beim Neuschreiben kein Problem, wobei manche Konstrukte schwerer werden und man $IFS temporär ändern muss. Aber kann man sicher sein, daß auch der ganze alte Kram SPACEs korrekt behandelt?

    Hm, ich weiss nicht genau, was Du mit alten Scripten meinst. Batch Files?
    Meine Batch Scripte sind eben meine selbst geschriebene oder aus dem Internet zusammengeklauten und angepassten Schnippets die genau für spezifische Tasks getrimmt sind.
    Dort habe ich meinstens alles sauber aufgebaut und muss nur anfangs einen Pfad anpassen, der eigentlich immer in " .... " steht.
    Ich mache das auch vermehrt mit Powershell, welches ich immer zusammen mit einer Config.XML programmiere und dort z.B. Pfade konfiguriere und schon allein deshalb von vornherein Pfade mit Leerzeichen berücksichtigen, weil eben anpassbar/konfigurierbar.


    Die Problematik entsteht eher bei alten kompilierten Programmen, die dämlich programmiert sind und z.B. fix C:\Windows\ und C:\Programm Files\ ansprechen.
    Die kann man nicht mal schnell anpassen, ausser man hat den Source Code, was eher nicht der Fall ist.


    Meine Erfahrung diesbezüglich ist, daß die Vermeidung von SPACEs in Dateinamen einem eine Menge Ärger spart der sonst immer dann hochkommt wenn man es am wenigsten erwartet.

    Da gebe ich Dir recht, vor allem bei Directories und bei technischen Dateien (z.B. Logfiles, Schnittstellen-Files etc.) mache ich das auch so.
    Word, Excel & co Dateien haben durchaus Leerzeichen drin, weil die interaktiv geöffnet werden.

  • Hm, ich weiss nicht genau, was Du mit alten Scripten meinst. Batch Files?

    Nein, schon Scripte, also bash, perl, python usw. Sowas wie 'for i in $( find . ) do ...' funktioniert z.B. nur mit umgesetzem $IFS korrekt wenn Leerzeichen in Dateinamen sind.



    Word, Excel & co Dateien haben durchaus Leerzeichen drin, weil die interaktiv geöffnet werden.

    Hier nicht, denn auch sowas kann mal mit Scripten behandelt werden. Ich betrachte Leerzeichen in Dateinamen als Bug und korrigiere diesen wenn er mir unterkommt. Soll heissen, wer mir eine Datei mit Leerzeichen im Namen zur Bearbeitung schickt wird eine umbenannte zurückbekommen. Ich mache da keine Ausnahmen.

  • Umlaute sind kein Problem. Man muss aber auch keine DOS Tools aus den 90ern verwenden und sich dann wundern.

    Nicht einmal das ist ein Problem, wenn man CHCP kennt.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.



  • Ich betrachte Leerzeichen in Dateinamen als Bug und korrigiere diesen wenn er mir unterkommt. Soll heissen, wer mir eine Datei mit Leerzeichen im Namen zur Bearbeitung schickt wird eine umbenannte zurückbekommen. Ich mache da keine Ausnahmen.

    Leerzeichen anders zu behandeln als andere Zeichen ist der Bug in deinem /dev/brain.
    Ein Leerzeichen ist genauso Kodiert wie alle andere Zeichen und ist ein Teil der uns zur Verfügung stehenden Zeichen, womit wir unsere Gedankengänge ausdrücken. Unterdrückst du daß Leerzeichen, unterdrückst du die Micropausen zwischen den Wörtern, und das ergibt unverständliches Kauderwelsch:


    LeerzeichenanderszubehandelnalsandereZeichenistderBugindeinem/dev/brain.

  • Also jetzt kommen wir hier ins pseudophilosophische über Sprachkonstrukte rein? :D


    Irgendein Zeichen braucht man halt, um Parameter zu trennen. Das muss man anders behandeln.
    Das ist halt das Whitespace.

  • LeerzeichenanderszubehandelnalsandereZeichenistderBugindeinem/dev/brain.

    Deshalb mache ich das eben nicht so sondern benutze bei Dateinamen (!) den erwähnten Underscore:


    Leerzeichen_anders_zu_behandeln_als_andere_Zeichen_ist_der_Bug_in_deinem_/dev/brain


    Wie gesagt, nur bei Dateinamen und ein paar anderen Dingen wie Variablennamen wo Leerzeichen Probleme machen.


    Es heisst ja auch 'Dateiname' und nicht 'Dateisatz'.

  • Deshalb mache ich das eben nicht so sondern benutze bei Dateinamen (!) den erwähnten Underscore:
    Leerzeichen_anders_zu_behandeln_als_andere_Zeichen_ist_der_Bug_in_deinem_/dev/brain


    Wie gesagt, nur bei Dateinamen und ein paar anderen Dingen wie Variablennamen wo Leerzeichen Probleme machen.


    Es heisst ja auch 'Dateiname' und nicht 'Dateisatz'.

    Otto Normalverbraucher heisst Otto Normalverbraucher und NICHT (!) Otto_Normalverbraucher.

  • Otto Normalverbraucher heisst Otto Normalverbraucher und NICHT (!) Otto_Normalverbraucher.

    Du vergleichst Äpfel mit Birnen. Hier wird von Dateinamen geredet, nicht vom Dateiinhalt.


    Es gibt gute Gründe, warum eben nicht alle Zeichen des Zeichenvorrats in Dateinamen verwendet werden dürfen (bzw. heutzutage eher sollten), * und ? z. B., oder / und\. Diese Zeichen haben reservierte Funktionen/Bedeutungen.


    Beim Leerzeichen kann man drüber streiten; Tatsache ist, es hat eine besondere Bedeutung.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Du vergleichst Äpfel mit Birnen. Hier wird von Dateinamen geredet, nicht vom Dateiinhalt.
    Es gibt gute Gründe, warum eben nicht alle Zeichen des Zeichenvorrats in Dateinamen verwendet werden dürfen (bzw. heutzutage eher sollten), * und ? z. B., oder / und\. Diese Zeichen haben reservierte Funktionen/Bedeutungen.


    Beim Leerzeichen kann man drüber streiten; Tatsache ist, es hat eine besondere Bedeutung.

    Wir reden ja von Namen, und NICHT vom Inhalt.
    Bisher hat keiner von Euch darauf hingewiesen daß man dem einfach löst indem man 'Dateinamen' generell in Gänsefüßchen packt vor dem verarbeiten. (-> "Dateiname mit öäüß und leerschritte, sogar geshiftete leerschritte (eingabe per alt +255 auf Zehnertastatur)".


    Diese Geshifteten Leerschritt (space) war damals unter DOS ein beliebter Trick ein Verzeichnis vor ein Nichtkundigen unereichbar zu machen.
    Hat aber spätestens mit aufkommen von Norton Commander/PC-Tools sowie Windows/Gem nichts mehr gebracht.


    Und ja, die 'besondere' Bedeutung eines Leerschrittes (Space) ist die Trennung zwischen den Wörtern u.o. Argumente/Optionen. Daher gibt es die Möglichkeit Namen MIT Leerschritte in Gänsefüßchen zu stellen, denn das hat die Bedeutung die Leerschritte INNERHALB der Gänsefüßchen NICHT zu betrachten, sondern so wie es ist zu übergeben (inkl. Leerschritte).


    Daher gibt es auch sog. Fluchtzeichen in Skripte um Mißdeutungen zu umgehen.