Erstellen Sie eine Verknüpfung mit dem App-Pfad

938
user2319146

Wie kann ich eine Verknüpfung erstellen (möglicherweise mithilfe von NirCmd), Acrobat.exeum den Pfad HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exeund die Parameter zu verwenden /A "page=10" "file.pdf"?

1
Verwenden Sie `reg query`, um den Pfad abzurufen, und verwenden Sie dann 'nircmd shortcut' DavidPostill vor 7 Jahren 0
Kann ich die beiden kombinieren, um eine Verknüpfung zu erstellen, die nach dem Pfad in der Registrierung sucht, anstatt ihn hart zu codieren? user2319146 vor 7 Jahren 0
Ja. Analysieren Sie das Ergebnis der "reg" -Abfrage und übergeben Sie es an "nircmd" ... DavidPostill vor 7 Jahren 0
Ich denke nicht, dass Sie eine Lösung posten könnten, bitte? (Es ist jenseits von mir.) user2319146 vor 7 Jahren 0
Erledigt. Antwort hinzugefügt Bitte lassen Sie mich wissen, dass es funktioniert (ich habe keinen Akrobat installiert, um es zu testen). DavidPostill vor 7 Jahren 0

3 Antworten auf die Frage

1
DavidPostill

Wie kann ich eine Verknüpfung (möglicherweise mit NirCmd) zu Acrobat.exe erstellen?

Verwenden Sie die folgende Batchdatei:

@echo off setlocal enabledelayedexpansion rem query the registry to get the full path to acrobat for /f "usebackq tokens=3*" %%a in (`reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ /s /f \Acrobat.exe ^| findstr Default`) do ( set _acrobat=%%a %%b rem create the shortcut nircmd shortcut "!_acrobat!" "shortcut_folder" "shortcut_name" /A "page=10" "file.pdf" ) endlocal 

Anmerkungen:

  • Ersetzen Sie shortcut_folderdurch den Namen des Ordners, in dem Sie die Verknüpfung erstellen möchten
  • Ersetzen Sie shortcut_namedurch den Namen, den Sie der Verknüpfung geben möchten

Lesen Sie weiter

Vielen Dank, aber dies scheint eine Verknüpfung mit einem fest codierten Pfad zu erstellen. Kann man stattdessen immer nach dem Pfad in der Registry suchen? user2319146 vor 7 Jahren 0
@ user2319146 Nein, das ist nicht möglich. Verknüpfungen funktionieren nicht so. Wenn das Programm an einen anderen Ort verschoben wird, löschen Sie einfach die Verknüpfung und führen Sie die Stapeldatei erneut aus. DavidPostill vor 7 Jahren 0
Vielleicht brauche ich eine Batchdatei, die sich wie eine Verknüpfung verhält. user2319146 vor 7 Jahren 0
Nun, Sie können die Batchdatei in der Antwort verwenden. Ersetze `nircmd-Verknüpfung"! _Acrobat! " "shortcut_folder" "shortcut_name" / A "page = 10" "file.pdf" `mit` "! _acrobat!" / A "page = 10" "file.pdf" ` DavidPostill vor 7 Jahren 0
Abgesehen davon ist mir wirklich nicht klar, was Sie ursprünglich wollten, wenn Sie die Registrierung jedes Mal lesen wollen ... DavidPostill vor 7 Jahren 0
Benötigen Sie weitere Hilfe? Wenn Ihre Frage damit beantwortet wurde, vergessen Sie nicht, die Antwort zu akzeptieren (http://superuser.com/help/accepted-answer). DavidPostill vor 7 Jahren 0
Ich habe Ihren Vorschlag ausprobiert (und dem Registrierungspfad "App Paths \" hinzugefügt), aber es scheint nichts zu passieren, wenn ich die Stapeldatei (sogar erhöht) ausführte. user2319146 vor 7 Jahren 0
Wie ich schon sagte, ich verstehe nicht, was Sie zu tun versuchen. Warum fügen Sie dem Registrierungspfad etwas hinzu? DavidPostill vor 7 Jahren 0
Ich meinte, dass ich den Registrierungspfad korrigiert habe. es fehlte "App Paths \". Ich versuche, eine Verknüpfung zu erstellen, die eine Datei auf mehreren Computern öffnet, unabhängig davon, wo Acrobat installiert ist. user2319146 vor 7 Jahren 0
Das ist genau das, was meine Batch-Datei macht ... außer, dass sie die `App Paths` nicht benötigt. Wenn Sie es wirklich hinzufügen möchten, benötigen Sie Zitate "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths", da der Speicherplatz leer ist. DavidPostill vor 7 Jahren 0
OK; Ich dachte, das könnte gefehlt haben, weil es immer noch nichts tut. user2319146 vor 7 Jahren 0
Beachten Sie, dass in der Batchdatei ein Fehler aufgetreten ist. Zwischen "%% a" und "%% b" muss ein Leerzeichen stehen. DavidPostill vor 7 Jahren 0
Großartig, vielen Dank! Gibt es eine Möglichkeit, das Cmd-Fenster zu schließen, nachdem die Datei geöffnet wurde (und nicht nachdem die Datei geschlossen wurde)? user2319146 vor 7 Jahren 0
Ignorieren Sie das: "Exit" natürlich. user2319146 vor 7 Jahren 0
0
securityghost

Sie können einfach mit der rechten Maustaste auf Ihren Desktop klicken und Neu und dann eine Verknüpfung auswählen . Dadurch wird eine Standardverknüpfung erstellt.

Wie Sie vielleicht erraten haben, möchte ich etwas komplizierter machen. user2319146 vor 7 Jahren 0
0
Ben N

Keine Software von Drittanbietern erforderlich; Sie können PowerShell verwenden:

# Get the target path from the Registry $path = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe').'(default)' # Create the shell and shortcut objects with COM $wshshell = New-Object -ComObject WScript.Shell $shortcut = $wshshell.CreateShortcut([Environment]::GetFolderPath('Desktop') + '\Acrobat.lnk') # Configure the shortcut $shortcut.TargetPath = $path $shortcut.Arguments = '/A "page=10" "file.pdf"' # Write the shortcut to disk $shortcut.Save() 

Die Verknüpfungsdatei wird auf dem Desktop angezeigt. Um zu ändern, wo die Verknüpfung gespeichert wird, ändern Sie die Leitung mit dem CreateShortcutAnruf.

Kürzere einzeilige Version:

$w=New-Object -com WScript.Shell;$s=$w.CreateShortcut([Environment]::GetFolderPath('Desktop')+'\Acrobat.lnk');$s.TargetPath=(gp 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe').'(default)';$s.Arguments='/A "page=10" "file.pdf"';$s.Save() 

Um mit der Eingabeaufforderung aufzurufen, führen Sie einfach powershelldie doppelten Anführungszeichen aus, und ersetzen Sie sie entsprechend:

powershell -command $w=New-Object -com WScript.Shell;$s=$w.CreateShortcut([Environment]::GetFolderPath('Desktop')+'\Acrobat.lnk');$s.TargetPath=(gp 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe').'(default)';$s.Arguments='/A """page=10""" """file.pdf"""';$s.Save() 
Vielen Dank (und dafür, dass Sie mich mit PowerShell bekannt gemacht haben), aber ich suche nach einer Verknüpfung, die nach dem Pfad in der Registrierung sucht, anstatt ihn hart zu codieren. user2319146 vor 7 Jahren 0
@ user2319146 Der Zielpfad * wird aus der Registry abgerufen. Der Ort der Verknüpfungsdatei ist hartcodiert. Ich kann das ändern, um aus etwas berechnet zu werden, wenn Sie möchten. Ben N vor 7 Jahren 0
Ja, bitte: Ich möchte, dass der Speicherort der Verknüpfungsdatei immer nach dem Pfad in der Registrierung sucht. user2319146 vor 7 Jahren 0
@ user2319146 Wie soll es berechnet werden? Derzeit läuft es immer auf dem Desktop und wird als "Acrobat" bezeichnet. Ich fürchte, ich verstehe nicht, wo die Verknüpfung erscheinen soll. Könnten Sie das bitte erläutern? Ben N vor 7 Jahren 0
Auf dem Desktop geht es gut; Ich kann mir vorstellen, dass ich es an einen anderen Ort verschieben kann, wie jede andere Verknüpfung. user2319146 vor 7 Jahren 0