Lösung

Lösung

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 .txtDateien überschreiben, indem Sie einen bestimmten Registrierungsschlüssel erstellen:

  1. Öffne einEingabeaufforderung.

  2. Geben Sie den folgenden Befehl ein oder fügen Sie ihn ein und drücken Sie Enternach dem Ersetzen X:\Path\to\myscript.vbsdurch 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.cmdim temporären Benutzerverzeichnis erstellen).

1.cmd:

cmd

Datei öffnen und tun, was Sie wollen)

verwandte Informationen