.lnk alternative URL

littleNicon

Cadet 1st Year
Registriert
Juli 2018
Beiträge
10
Hallo Communit


Ich stehe vor einem kleinem Fragezeichen... das ich mit meiner Suche im Web nicht ganz schlüssig werde.

Vorab :
Ich habe mit einem Autoplaymenü eine kleine Umgebung kreiert, mit der ich auf eine Sammlung .lnk klicken kann und es öffnet sich die Programm. Manche funktionieren, manche nicht...
Als ich das näher anschaute, lassen sich nur die .lnk's nicht öffnen die in C:\Program Files\ führen.
C:\Program Files (x86) funktionieren wunderbar.

Also machte ich mich um die Berechtigungen schlau. Da alle Programme die durch das AutoplayMenü gestartet werden, in der selben Task ausgeführt werden und nicht eine separaten task eröffnet wird.

Auch wenn ich das Autoplaymenü als Admin starte, erhält es keine Berechtigung eine .lnk zu starten die in C:\Program Files\ führt.

Nach dieser Erkenntnis, suchte ich im Internet nach einer Lösung, ohne Erfolg.

Nur die Idee mit der .lnk alternative URL.

Die Programme mit
file:///c:/Program%20Files/ zu öffnen.

Die funktionier mit dem AutoplayMenü.

Nur alle .lnk Manuel in die URL umzuwandeln, ist aufwendig und nicht einfach.

Also dachte ich an eine Batch der dir .lnk und die entsprechende URL umwandelt.

Nur werde ich nicht schlüssig wie ich dann Batch schreiben soll.

Geht das überhaupt mit Batch oder nur mit vbscript ?

Ich benutze diese Software : visualdesigning.com
Mit der Datei-Box lässt sich ein Einblick in den Ordner verschaffen.
Die dort abgelegten .lnk's lassen sich dann öffnen. Nur nicht jedes....
Mit Batch habe ich auch Erfahrung, nur nicht so detailliert das ich die Aufgabe meistern kann die mir bevor steht.

Ich bedanke mich jetzt schon recht Herzlich für die Mühe und das auseinandersetzen meiner Frage.
 
Zuletzt bearbeitet:
Der Ordner C:\Programme (x86) stellt den Ordner C:\Programme dar, wenn ein 32 Bit Programm auf %Program Files% zurückgreift. Und das kann eben bedeuten, dass der Zugriff aus einem 64 Bit Programm heraus über %Program Files% nie in C:\Programme (x86) ankommt.
 
okay... Ich bin mir wider nicht sicher ob ich mein Problem richtig geschildert / ankommt.

Ich versuche es mehr zu beschreiben.

Im Screenshot 1 seht ihr das erstellt Autoplaymenü.
auch die Verknüpfungen sind ersichtlich.

Wenn ich jetzt z.b. auf Glary Utilities 5 klicke, öffnet sich das Programm.
Im Taskmanager ist zu sehen, das beide Programme separat erscheinen.
Info:
"C:\Program Files (x86)\Glary Utilities 5\Integrator.exe"

Wenn ich jetzt UninstallTool öffne, kommt keine Reaktion.
"C:\Program Files\Uninstall Tool\UninstallTool.exe"

Wenn ich ein Office Word über das Programm öffne, sieht das so aus (Screenshot 2)

Würde Ich jetzt die Verknüpfung in eine URL umwandeln, würde es funktionieren
Beispiel :
"C:\Program Files\Uninstall Tool\UninstallTool.exe"
file:///c:/Program%20Files/Uninstall%20Tool/UninstallTool.exe

Such ich die Lösung an der falschen stelle?
Gibt es ein Parameter den ich der verknüpfung hinzufügen kann, das dass Problem nicht mehr vorkommt?

Oder ein anderen lösungs ansatz?

Gruss
 

Anhänge

  • SyMAG Problem ScreenShot 1.jpg
    SyMAG Problem ScreenShot 1.jpg
    539 KB · Aufrufe: 339
  • SyMAG Problem ScreenShot 2.jpg
    SyMAG Problem ScreenShot 2.jpg
    320,8 KB · Aufrufe: 316
Zuletzt bearbeitet:
Du musst ganz einfach die absoluten Pfade "C:\Program Files" und "C:\Pogram Files (x86)" angeben und auf die Systemvariable verzichten. Nur dann kann das sicher funktionieren. Wenn Dein Tool nämlich ein 32 Bit Programm ist, dann führt es die Befehlszeile file:///c:/Program%20Files/Uninstall%20Tool/UninstallTool.exe tatsächlich in file:///c:/Program%20Files%(x86)/Uninstall%20Tool/UninstallTool.exe aus. Denn in diesem Moment schlägt die automatische Umleitung von Windows zu - die es übrigens auch für C:\Windows\System32 gibt und 32 Bit Programme immer automatisch nach C:\Windows\SysWoW64 umleitet.
 
Danke areiland für die Antwort.

Wie ich festgestellt habe, ist das Tool tatsächlich 32xbit und kann wegen der Windows Umleitung nicht auf x64bit zugreifen.

Mit dem absoluten pfad werde ich nicht ganz schlau... Der Pfad lässt sich ja nicht anders schreiben als "C:\Program Files\"

Wäre dann die Lösung mit dem URL Pfad file:///c:/Program%20Files/

Die funktioniert und lässt sich mit einem ICON bestücken.

Nun versuche ich ein Batch zu erstellen, das mir die .lnk in .url umwandelt...

Die Idee:
Code:
@Echo off

?????

Und hier hapert’s :)

Momentan such ich Googel durch...

Code:
Set wshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set args = WScript.Arguments

If args.Count < 1 Then
WScript.Echo "Dateiname fehlt."
WScript.Quit
End If

ziel = args(0)
ziel = fso.GetAbsolutePathName(ziel)
idxName = InStrRev(ziel, "\")
idxExt = InStrRev(ziel, ".")
If idxExt < idxName Then idxExt = Len(ziel) + 1
ordner = Left(ziel, idxName - 1)
linkName = Mid(ziel, idxName + 1, idxExt - idxName - 1)
desktop = wshShell.SpecialFolders("Desktop")

Set link = wshShell.CreateShortcut(desktop & "\" & linkName & ".lnk")
link.TargetPath = ziel
link.WorkingDirectory = ordner
link.Save

So etwas ... nur vbs kenne ich mich nicht sehr aus...

Der pfad müsste jetzt nur noch mit file:/// bestückt werden und die leerstellen mit %20 versehen werden...
 
Zuletzt bearbeitet:
könnte mir jemand helfen das scribt zu bearbeiten....
ich bekomm das nicht so hin ...
 
areiland hat es doch geschrieben.
Beispiel.......
Unter File Name (Dateiname) wird doch der Root Pfad und Programm-Name eingetragen (z.B. %Root%/Data/UninstallTool.exe)

Trage doch dort das gleiche wie beim Programm-Pfad ein. >>
"C:\Program Files\Uninstall Tool\UninstallTool.exe"
 
Viel dank für die Antwort. @ areiland & hybridlite


Hab vor lauter Bäume den Wald nicht mehr gesehen. :-)
Hab den Pfad falsch benennt und nur (file) weg genommen.
Und Program-«me» nicht ergänzt.
Jetzt funktionier es....

Aber warum verstellt es mir die Auflösung ?
Liegt das am UHD Monitor ?
Oder übernimmt es die Auflösung des Tool’s ?

Mit freundlichen Grüssen
littleNicon
 
@ littleNicon
Wird wohl an der Zeile 'Ausführen in' liegen.

Diese muß auch angepasst werden, da es sich um das Arbeitsverzeichnis handelt.

Ich nehme mal das Beispielprogramm Rufus. Diese erstellt eine .ini Datei.

Damit die Datei nicht immer neu erstellt wird (an dem Ort, an dem die .exe gestartet wurde), gibt man ein Arbeitsverzeichnis an.

Dort bleibt dann die .ini. Deswegen wirds Dir wohl die Auflösungen im Programm verändert haben, da eine neue Konfigurationsdatei (vermutlich) erstellt wurde.
 

Anhänge

  • rufus_arbeitsverzeichnis.gif
    rufus_arbeitsverzeichnis.gif
    9,4 KB · Aufrufe: 301
Hab es noch nicht getestet wie es sich verhaltet.... werde auch im Programm Ordner die .ini config mal genau studieren... Vorallem beim Office Word.

Ich bedanke mich nochmals bei euch für den einsatzt...
Gruss littleNicon
 
Zurück
Oben