So wenden Sie ein Skript durch einen Rechtsklick im Explorer auf eine bestimmte Datei/einen bestimmten Ordner an (für UNC-Pfade)

So wenden Sie ein Skript durch einen Rechtsklick im Explorer auf eine bestimmte Datei/einen bestimmten Ordner an (für UNC-Pfade)

Ich suche nach einer Möglichkeit, ein cmd- oder Powershell-Skript auf eine bestimmte Datei anzuwenden, indem ich im Windows Explorer mit der rechten Maustaste auf die Datei klicke und „Skript XYZ anwenden“ auswähle.

Ein Anwendungsfall wäre, eine Datei schreibgeschützt zu machen. Meine Batchdatei würde daher Folgendes enthalten:

attrib +r %filename%

wo %filename%ist der Name der Datei, auf die ich im Explorer mit der rechten Maustaste geklickt habe.

Eine einzelne Datei würde für den Moment genügen, aber ich würde es gerne auch auf mehrere Dateien (durch Auswahl mehrerer Dateien in einem Ordner) und ganze Ordner (durch Auswahl des Ordners) anwenden.

Die Lösung sollte für Windows 10 und wenn möglich auch für UNC-Pfade und Windows 7 funktionieren.

BEARBEITEN: Bisher habe ich alles hinbekommen, außer die UNC-Pfade, dieses Beispiel funktioniert für Dateien (mitdiese QuelleUnddiese Quelle):

Registrierungseintrag:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\SomeName]
@="NameOfTheMenueItem"
"icon"="someicon.ico"

[HKEY_CLASSES_ROOT\*\shell\SomeName\command]
@="\"X:\\folder\\batchfile.cmd\" \"%1\""

Batchdatei:

set filepath=%1
attrib +r %filepath%

Batchdatei (für Ordner):

set folderpath=%1
attrib +r %folderpath%\*.*

Verbleibende Probleme:

  • Ich brauche es, um für UNC-Pfade zu funktionieren
  • gibt den Ordnerpfad zur Batchdatei ohne "" zurück, um ihn zu ändern "X:\folderpath\*.*"(im Moment bekomme ich "X:\folderpath"als Rückgabewert, obwohl das bloße Hinzufügen \*.*funktioniert, sieht das Ergebnis "X:\folderpath"\*.*nicht sehr gut aus, nicht sicher, ob es irgendwann Probleme geben wird)
  • Erstellen Sie einen rekursiven Schreibschutz für alle Dateien und Unterordner eines ausgewählten Ordners

verwandte Informationen