~(Tilde) Zeichen aus Pfad entfernen

  • Hallo,
    ich hab in letzter Zeit Probleme damit, einen Pfad der aus der Registry gelesen wurde in AutoIt zu benutzen, das Problem ist, dass der Pfad das ~(Tilde) Zeichen enthält und in der Form so nicht in meinem Programm läuft.
    Ich hab schon lange gegoogelt, hab aber keine gute Möglichkeit gefunden den Pfad zu expandieren.
    Hat hier jemand ne Idee, wie man das machen könnte?
    Fliwatt

  • so?

    Spoiler anzeigen
    [autoit]

    $pfad= "C:\test~"
    $pfad2 = StringReplace($pfad,"~","")
    MsgBox(0,"",$pfad2)

    [/autoit]

    Edit: Ich glaub ich versteh jetzt was du meinst.
    Werden Die Pfadnamen durch ~ ersetzt und du möchtest aber den kompletten Pfad auslesen?
    also z.B.: "c:\progra~1\" hast du aber du brauchst: "c:\program files\"?

    Da muss ich auch mal 5 Minuten drüber nachdenken ^^

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]

    Einmal editiert, zuletzt von Blubkuh (11. März 2014 um 00:29)

  • so?

    Spoiler anzeigen
    [autoit]

    $pfad= "C:\test~"
    $pfad2 = StringReplace($pfad,"~","")
    MsgBox(0,"",$pfad2)

    [/autoit]

    Edit: Ich glaub ich versteh jetzt was du meinst.
    Werden Die Pfadnamen durch ~ ersetzt und du möchtest aber den kompletten Pfad auslesen?
    also z.B.: "c:\progra~1\" hast du aber du brauchst: "c:\program files\"?

    Da muss ich auch mal 5 Minuten drüber nachdenken ^^

    Ja genau, ich hab hier mal nen Beispielpfad:
    C:\PROGRA~2\DIGITA~1\SIEGEO~1
    Und der Richtige Pfad dazu wäre:
    C:\Program Files (x86)\Digital Tome\Siege Of Avalon

    Ich hab schon versucht das mit _PathFull zu machen und hab auch schon versucht das in einer .bat zu öffnen und dann das %cd% auszulesen,
    das blöde ist, dass der auch das Tilde dann mit reinpackt
    Fliwatt

  • Ah super. Gut zu wissen.

    Ich habe allerdings auch gegoogled und nichs passendes gefunden.
    Die Funktion sollte eher PathGetLongName heißen. Dann isses einfacher zu finden :D

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]