3

Я запускаю Assoc из командной строки администратора

Я хотел бы добавить запись для .vbsc в мой список ассоциаций. Это не позволит мне, хотя это позволит мне сделать один для .vbsd И это работает Assoc. (если бы он не нашел партнера, он бы сказал, что он не опознан). Так, что происходит?

У меня есть программа (обертка для cscript.exe), которую я написал, что я связал ее с файлами .vbsc, она прикрепляется, хотя, как вы видите из grep, по какой-то причине она не указана в списке в Assoc, это странность, но странность, о которой я здесь спрашиваю (что может быть связано), заключается в том, почему assoc .vbsc= на моей машине говорит: "Система не может найти указанный файл"?

C:\>assoc .vbsc=  <--- fails, i'd expect it to work
The system cannot find the file specified.

C:\>assoc .abc=  <-- works, no error

C:\>assoc .abcd= <-- works, no error

C:\>assoc .vbsd=  <-- works, no error

C:\>

и для напоминания о том, что он показывает, когда команда не распознается.

C:\>hjghjgjhgjh
'hjghjgjhgjh' is not recognized as an internal or external command,
operable program or batch file.

C:\>

и больше информации

C:\>assoc | grep -i vbs
.vbs=VBSFile

C:\>ftype | grep -i vbs
VBSFile=C:\blah\mycscriptwrapper.exe %1
VBS_Cscr=C:\blah\mycscriptwrapper.exe %1

C:\>

добавлено уточнение

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

и это становится незнакомым.

Юзеф предложил кое-что, что, я думаю, могло бы стать прорывом. Делаем reg query hkcr\.vbsc и с /s. Сравнение этого с .abc показывает различия.

ОБНОВЛЕНИЕ Я сливаю это в ответ Джозефа .. но здесь временно, как запись.

    C:\Users\harvey>reg query hkcr\.vbsc

    HKEY_CLASSES_ROOT\.vbsc\OpenWithList
    HKEY_CLASSES_ROOT\.vbsc\PersistentHandler
    HKEY_CLASSES_ROOT\.vbsc\Shell

    C:\Users\harvey>reg query hkcr\.vbsc  /s

    HKEY_CLASSES_ROOT\.vbsc\OpenWithList

    HKEY_CLASSES_ROOT\.vbsc\PersistentHandler
        OriginalPersistentHandler    REG_SZ    {00000000-0000-0000-0000-000000000000
    }

    HKEY_CLASSES_ROOT\.vbsc\Shell

    HKEY_CLASSES_ROOT\.vbsc\Shell\Open

    HKEY_CLASSES_ROOT\.vbsc\Shell\Open\Command
        (Default)    REG_EXPAND_SZ    VBS_Cscr


    C:\Users\harvey>

с .abc, даже с

Assoc ABC = RAZ

(и даже с установленным ftype это все еще только для .abc)

C:\Users\harvey>reg query hkcr\.abc

HKEY_CLASSES_ROOT\.abc
    (Default)    REG_SZ    RAZ


C:\Users\harvey>

with ftype set you also get this key 

ftype RAZ=c:\blah\blah.exe

C:\Users\harvey>reg query hkcr\RAZ /s

HKEY_CLASSES_ROOT\RAZ\Shell

HKEY_CLASSES_ROOT\RAZ\Shell\Open

HKEY_CLASSES_ROOT\RAZ\Shell\Open\Command
    (Default)    REG_EXPAND_SZ    c:\blah\blah.exe


C:\Users\harvey>

C:\Users\harvey>reg delete hkcr\.vbsc
Permanently delete the registry key HKEY_CLASSES_ROOT\.vbsc (Yes/No)? y
The operation completed successfully.

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

1 ответ1

1

добавлено примечание от barlop - решение было шагом по устранению неполадок в reg query hkcr\.vbsd и, помимо прочего, с /s включит значения. Это отличается от hkcr.abcd, и решение состоит в том, чтобы удалить ключ. Позвольте Assoc создать ключ и то, что необходимо в этом ключе. ----

После всего объяснения я могу воспроизвести проблему:

C:\Windows\system32> assoc .vbsd=

C:\Windows\system32> assoc .vbsd=abc
.vbsd=abc

C:\Windows\system32> assoc .vbsd=

C:\Windows\system32> assoc .vbsd=

C:\Windows\system32> reg add HKCR\.vbsd\AnyKeyName /f
The operation completed successfully.

C:\Windows\system32> assoc .vbsd=
The system cannot find the file specified.

C:\Windows\system32> reg delete HKCR\.vbsd\AnyKeyName /f
The operation completed successfully.

C:\Windows\system32> assoc .vbsd=

C:\Windows\system32> assoc .vbsd=

C:\Windows\system32>

Вот протоколы от Process Monitor: успешная assoc .vbsd=

"Process Name","Operation","Path","Result","Detail"
"cmd.exe","RegQueryKey","HKLM","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKCR","SUCCESS","Desired Access: Maximum Allowed, Granted Access: All Access"
"cmd.exe","RegQueryKey","HKCR","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKCR\.vbsd","SUCCESS","Desired Access: Delete"
"cmd.exe","RegDeleteKey","HKCR\.vbsd","SUCCESS",""
"cmd.exe","RegCloseKey","HKCR\.vbsd","SUCCESS",""
"cmd.exe","RegQueryKey","HKLM","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS","Desired Access: Query Value"
"cmd.exe","RegQueryValue","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\GlobalAssocChangedCounter","SUCCESS","Type: REG_DWORD, Length: 4, Data: 108"
"cmd.exe","RegCloseKey","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS",""
"cmd.exe","RegQueryKey","HKLM","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegCreateKey","HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS","Desired Access: Set Value, Disposition: REG_OPENED_EXISTING_KEY"
"cmd.exe","RegSetValue","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\GlobalAssocChangedCounter","SUCCESS","Type: REG_DWORD, Length: 4, Data: 109"
"cmd.exe","RegCloseKey","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS",""
"cmd.exe","RegCloseKey","HKCR","SUCCESS",""

И неудачное assoc .vbsd= с неожиданным The system cannot find the file specified :

"Process Name","Operation","Path","Result","Detail"
"cmd.exe","RegQueryKey","HKLM","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKCR","SUCCESS","Desired Access: Maximum Allowed, Granted Access: All Access"
"cmd.exe","RegQueryKey","HKCR","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKCR\.vbsd","SUCCESS","Desired Access: Delete"
"cmd.exe","RegDeleteKey","HKCR\.vbsd","CANNOT DELETE",""
"cmd.exe","RegCloseKey","HKCR\.vbsd","SUCCESS",""
"cmd.exe","RegQueryKey","HKCR","SUCCESS","Query: HandleTags, HandleTags: 0x0"
"cmd.exe","RegOpenKey","HKCR\.vbsd","SUCCESS","Desired Access: Maximum Allowed, Granted Access: All Access"
"cmd.exe","RegDeleteValue","HKCR\.vbsd\(Default)","NAME NOT FOUND",""
"cmd.exe","RegCloseKey","HKCR\.vbsd","SUCCESS",""
"cmd.exe","RegCloseKey","HKCR","SUCCESS",""

К сожалению, я не могу выяснить, откуда в вашем случае появились подразделы под HKCR\.vbsc .

добавил примечание от barlop --- Относительно того, откуда он взялся, я думаю, что это была комбинация "редактор программ по умолчанию" и start/orb .. «изменить тип файла, связанный с конкретным расширением» и сделать значок .vbsc и выбор программы с открытым с и ассоциированным ----

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