1

Не смейся

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

Блокнот в основном в порядке, но самая большая боль в том, что он не определяет, открыт ли уже файл. Я получаю правки в файлах в двух местах.

Итак, я подумал, что напишу немного 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?

3 ответа3

1

Решение

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

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

  2. Введите или вставьте следующую команду и нажмите клавишу ВВОД после замены 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
    

    Изменения вступают в силу немедленно.

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

1

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

0

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

1.cmd:

cmd

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .