Lachen Sie nicht.
Ich befinde mich in einer Unternehmensumgebung mit einem gesperrten Desktop. Die Installation von Apps von Drittanbietern ist keine Option.
Notepad ist größtenteils in Ordnung, das größte Problem ist jedoch, dass es nicht erkennt, ob eine Datei bereits geöffnet ist. Ich bearbeite die Dateien dann an zwei Stellen.
Also dachte ich, ich schreibe ein kleines VBS, um zu prüfen, ob die Datei möglicherweise geöffnet ist, und anstatt sie zweimal zu öffnen, öffne ich einfach das verdächtige Fenster.
Dim Arg, var1
Set Arg = WScript.Arguments
'Parameter1, begin with index0
var1 = Arg(0)
set fso = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
If Not oShell.AppActivate( fso.GetFileName(var1) + " - Notepad") Then
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("notepad.exe " + var1 )
Set objShell = Nothing
End If
es funktioniert super. Aber...
Ich kann kein vbs als Ziel eines „Öffnen mit...“-Menüs festlegen. Es sieht so aus, als ob ich eine .bat-, .cmd-, .exe- oder .pif-Datei verwenden kann. Die manuelle Auswahl von „.vbs“ funktioniert nicht. Es wird angezeigt, dass die .txt-Datei „keine gültige Win32-Anwendung“ ist.
Wie kann ich die Standardaktion einer Datei so einrichten, dass sie mit einem VBS-Skript geöffnet wird?
Antwort1
Rufen Sie das VBScript aus einer Batchdatei (.cmd) mit einer einzigen Zeile „wscript.exe %1“ auf. Fügen Sie die cmd-Datei in die Sendeliste ein.
Antwort2
Lösung
Die Dateizuordnung unter Windows kann entweder systemweit oder benutzerbezogen erfolgen, wobei letzteres Vorrang hat. Sie können daher das Standardverhalten für .txt
Dateien überschreiben, indem Sie einen bestimmten Registrierungsschlüssel erstellen:
Öffne einEingabeaufforderung.
Geben Sie den folgenden Befehl ein oder fügen Sie ihn ein und drücken Sie Enternach dem Ersetzen
X:\Path\to\myscript.vbs
durch den tatsächlichen Pfad:reg add "HKCU\Software\Classes\txtfile\shell\open\command" /ve /t REG_SZ /d "\"%windir%\System32\wscript.exe\" \"X:\Path\to\myscript.vbs\" \"%1\"" /f
Änderungen werden sofort übernommen.
Weiterführende Literatur
Antwort3
Datei 1.cmd
im temporären Benutzerverzeichnis erstellen).
1.cmd:
cmd
Datei öffnen und tun, was Sie wollen)