Dynamisches Argument über die Verknüpfung an eine Anwendung senden

977
Nikunj Bhatt

Ich versuche, einen Verknüpfungslink zu erstellen, der die Eingabeaufforderung (cmd) als Administrator ausführt / öffnet und das aktuelle Arbeitsverzeichnis (PWD) als den angegebenen Ordnerpfad festgelegt hat.

Was habe ich getan:

Eine Batchdatei mit folgendem Inhalt erstellt und als "D: \ Open Admin Command Prompt.bat" gespeichert:

@echo off cmd /k cd "%1" echo on 

Dann wurde die Verknüpfung in "C: \ Users \ Nikunj \ AppData \ Roaming \ Microsoft \ Windows \ SendTo" erstellt.

Dann öffnete ich die Eigenschaften der Verknüpfung -> Registerkarte / Seite "Verknüpfung".

Setzen Sie "Ziel" auf "D: \ Open Admin Command Prompt.bat"% 1

(Bitte beachten Sie % 1 am Ende des Zielpfads)

Klicken Sie dann auf die Schaltfläche "Erweitert", um das Dialogfeld "Erweiterte Eigenschaften" zu öffnen, und aktivieren Sie die Option "Als Administrator ausführen" (und schließen Sie alle geöffneten Dialogfelder mit der Schaltfläche OK).

Ich versuche jetzt, die Eingabeaufforderung als Administrator über das Kontextmenü des Ordners "D: \ Nikunj" zu öffnen -> Senden an -> "Admin Command Prompt.bat" zu öffnen. Die Eingabeaufforderung wird als Administrator geöffnet, die PWD wird jedoch nicht auf "D: \ Nikunj" festgelegt. Stattdessen wird in der Eingabeaufforderung der Fehler "Das System kann den angegebenen Pfad nicht finden" angezeigt. Dies bedeutet, dass % 1 nicht als erkannt wird ein Argument für die Verknüpfung.

Also, was soll ich anstelle von % 1 schreiben, oder sagen Sie mir bitte, ob es eine andere Methode gibt.

1

1 Antwort auf die Frage

0
Nikunj Bhatt

Dies funktioniert jetzt sowohl für Systemlaufwerke als auch für andere Laufwerke.

Erstellt eine Batchdatei mit folgendem Inhalt und wird gespeichert als "D:\OpenAdminCommandPrompt.bat":

@echo off set v=%~1 %v:~0,2% cd "%v%" @echo on 

Dann

  1. Eine Verknüpfung im %UserProfile%\AppData\Roaming\Microsoft\Windows\SendToOrdner erstellt.
  2. Stellen Sie ihr Ziel / Standort: cmd.exe /k D:\OpenAdminCommandPrompt.bat. (Ich habe den Namen der Stapeldatei ohne Leerzeichen gesetzt, da ansonsten Text nach dem Leerzeichen als zweites Argument für die cmd.exe angesehen würde.)
  3. Geöffnete Verknüpfungseigenschaft, auf die Schaltfläche "Erweitert" geklickt, um das Dialogfeld "Erweiterte Eigenschaften" zu öffnen, und "Als Administrator ausführen" ausgewählt und gespeichert.
  4. Legen Sie den Namen dieser Verknüpfung als fest Open Admin Command Prompt.lnk.

Wenn Sie nun mit der rechten Maustaste auf einen Ordner klicken -> Menü Senden an - öffnen -> auf "Admin-Eingabeaufforderung öffnen" klicken, wird der Ordner im Eingabeaufforderungsfenster mit Administratorrechten geöffnet!

Sie sollten Ihre ursprüngliche Antwort bearbeitet haben, anstatt eine zweite Antwort zu posten. Können Sie bestätigen - ist die ursprüngliche Antwort jetzt überflüssig? suspectus vor 9 Jahren 0
Die ursprüngliche Antwort kann nicht als überflüssig bezeichnet werden, weil (1) das vorherige / now_deleted (von @Sathya) kein vollständiger Beweis für das war, was ich damit erreichen wollte, und (2) es wurde mit einem etwas anderen Ansatz durchgeführt. Nikunj Bhatt vor 9 Jahren 0