Wie kann ich feststellen, auf welche Datei mit der rechten Maustaste geklickt wurde?

Wie kann ich feststellen, auf welche Datei mit der rechten Maustaste geklickt wurde?

Ich versuche, ein Skript zu schreiben und es dem Kontextmenü hinzuzufügen, das per Rechtsklick aufgerufen wird. Um die Elemente zum Menü hinzuzufügen, habe ich Folgendes verwendet: Windows: So fügen Sie dem Rechtsklickmenü eine Batch-Skriptaktion hinzu, außer statt

HKEY_CLASSES_ROOT\Directory\shell\MyScript1

Ich habe verwendet

HKEY_CLASSES_ROOT\*\shell\MyScript1

Sie würden also auf allen Dateien erscheinen, unabhängig von der Erweiterung.

Jetzt muss ich in der eigentlichen Bat-Datei herausfinden, auf welche Datei mit der rechten Maustaste geklickt wurde, damit ich sie als Eingabe verwenden kann. Gibt es eine Möglichkeit, den vollständigen Pfad der Datei für die spätere Verwendung in eine Variable einzufügen?

Antwort1

Wenn ein an ein Batch-Skript übergebenes Argument eine Datei ist, können Sie Umgebungsvariablen verwenden, um Dinge wie Pfad, Dateiname, Dateierweiterung usw. abzurufen. Beispiel:

@echo off
::
::If no parameter is passed, exit.
::
if [%~1]==[] echo Missing parameter! Script will exit... && exit /b

::
::If file does not exist, exit.
::
if not exist "%~1" echo File does not exist. Are you sure "%~1" is a file? && exit /b

echo.
echo File info
echo ---------
echo Path: %~dp1
echo Name: %~n1
echo Extension: %~x1
echo.
pause
exit /b

Dies funktioniert unabhängig davon, ob Sie die Datei in das Skript ziehen oder als Parameter von der Befehlszeile aus übergeben. Sie könnenErfahren Sie mehr über Argumente und ihre erweiterte Syntaxbei SS64.com.

verwandte Informationen