Kleine Programme als Portable Anwendungen programmieren?



  • %HOME% wenn ich nicht alles täuscht



  • audacia schrieb:

    %USERPROFILE%

    Ist die einzige richtige Lösung, da auf Windows nicht garantiert werden kann, dass das Profile auf C:\...etc liegt.



  • tntnet schrieb:

    Schade, daß Microsoft nicht die Mühe macht und einfach HOME auf %HOMEDRIVE%/%HOMEPATH% oder was auch immer zu setzen. Dann könnte man selbst unter Windows einfach HOME nehmen und braucht sich nicht darum zu kümmern, daß ein völlig anderes Betriebssystem vorliegt.

    Schade, daß sich die Linux-Entwicklercommunity nicht die Mühe macht, einfach %USERPROFILE% auf $HOME zu setzen und auch sonst Linux zu Windows kompatibel zu machen 😉

    Übrigens hat Microsoft sich bereits die Mühe gemacht, allerdings etwas ausführlicher:
    Microsoft Windows Services for UNIX



  • zwutz schrieb:

    das würde schon aus dem Grund schiefgehen, da beide Systeme unterschiedliche Methoden nutzen, Umgebungsvariablen zu kennzeichen. Unter Windows sind sie mit Prozentzeichen eingeschlossen, Unix verwendet das Dollarzeichen am Beginn der Variable

    Ob ich %HOME% oder $HOME verwende, hängt von der Shell ab. Die bash unter Linux verwendet wie auch die sh unter Unix $HOME um den Inhalt der Umgebungsvariable HOME zu liefern. Der Kommandointerpreter von Windows (cmd.exe) verwendet halt %HOME% um das gleiche zu erreichen. In einem C++ oder C-Programm verwende ich getenv("HOME"). Das liefert mir den Wert der Umgebungsvariablen "HOME". Und das ist unabhängig vom Betriebssystem.



  • audacia schrieb:

    tntnet schrieb:

    Schade, daß Microsoft nicht die Mühe macht und einfach HOME auf %HOMEDRIVE%/%HOMEPATH% oder was auch immer zu setzen. Dann könnte man selbst unter Windows einfach HOME nehmen und braucht sich nicht darum zu kümmern, daß ein völlig anderes Betriebssystem vorliegt.

    Schade, daß sich die Linux-Entwicklercommunity nicht die Mühe macht, einfach %USERPROFILE% auf $HOME zu setzen und auch sonst Linux zu Windows kompatibel zu machen 😉

    Übrigens hat Microsoft sich bereits die Mühe gemacht, allerdings etwas ausführlicher:
    Microsoft Windows Services for UNIX

    Die Umgebungsvariable HOME war unter Unix schon auf das Heimatverzeichnis gesetzt, als es noch kein MS-DOS geschweige denn Windows gab. Da wäre es doch eine Kleinigkeit gewesen, wenn man das übernommen hätte. Microsoft hat mit USERPROFILE das Rad neu erfunden - nicht Unix oder Linux.


Anmelden zum Antworten