Решение

Решение

Не смейтесь.

Я работаю в корпоративной среде с заблокированным рабочим столом. Установка сторонних приложений невозможна.

Notepad в целом ничего, но самая большая проблема в том, что он не определяет, открыт ли уже файл. В итоге я вношу изменения в файлы в двух местах.

Поэтому я подумал, что напишу небольшой VBS-код для проверки того, открыт ли файл, и вместо того, чтобы открывать его дважды, просто вызову подозрительное окно.

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

работает отлично. Но...

Я не могу установить vbs в качестве цели меню "Открыть с помощью...". Похоже, я могу сделать .bat, .cmd, .exe, .pif. Ручной выбор ".vbs" не работает. Он скажет, что файл .txt "не является допустимым приложением win32"

Как сделать так, чтобы действие по умолчанию для файла открывалось с помощью скрипта VBS?

решение1

Вызовите vbscript из пакетного файла (.cmd) с одной строкой 'wscript.exe %1'. Поместите файл cmd в список отправки.

решение2

Решение

Ассоциация файлов Windows может быть либо общесистемной, либо индивидуальной для каждого пользователя, и последняя имеет приоритет. Таким образом, вы можете переопределить поведение .txtфайлов по умолчанию, создав специальный ключ реестра:

  1. Откройтекомандная строка.

  2. Введите или вставьте следующую команду и нажмите клавишу Enterпосле замены X:\Path\to\myscript.vbsна фактический путь:

    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
    

    Изменения применяются немедленно.

дальнейшее чтение

решение3

создать файл 1.cmdво временном каталоге пользователя).

1.cmd:

cmd

откройте файл и делайте что хотите)

Связанный контент