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
~(Tilde) Zeichen aus Pfad entfernen
-
- [ gelöst ]
-
Fliwatt -
11. März 2014 um 00:19 -
Erledigt
-
-
so?
Spoiler anzeigen
[autoit]$pfad= "C:\test~"
[/autoit]
$pfad2 = StringReplace($pfad,"~","")
MsgBox(0,"",$pfad2)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
-
so?
Spoiler anzeigen
[autoit]$pfad= "C:\test~"
[/autoit]
$pfad2 = StringReplace($pfad,"~","")
MsgBox(0,"",$pfad2)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 AvalonIch 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 -
- Offizieller Beitrag
Hey,
Viel simpler, das mit dem tilde ist ein sogennanter short name oder short path, das Komplement dazu ist dem entsprechend ein long name und da gibts sogar ne Funktion in AutoIt für: (Hätte dir aber bestimmt auch google verraten )
[autoit]FileGetLongName("C:\PROGRA~2\DIGITA~1\SIEGEO~1")
[/autoit]Gruß,
Spider -
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 -
Hey,
Viel simpler, das mit dem tilde ist ein sogennanter short name oder short path, das Komplement dazu ist dem entsprechend ein long name und da gibts sogar ne Funktion in AutoIt für: (Hätte dir aber bestimmt auch google verraten )
[autoit]FileGetLongName("C:\PROGRA~2\DIGITA~1\SIEGEO~1")
[/autoit]Gruß,
Spider
Vielen,vielen Dank,
klappt perfekt
Fliwatt