&引用;以“打开”;通过vbscript的选项

&引用;以“打开”;通过vbscript的选项,vbscript,Vbscript,我们手动右键单击文件,然后选择“打开方式”选项以其他格式打开 现在,我需要通过vbscript执行此操作。如果您想使用vbscript创建关联脚本,例如,当您编写文件并用特定程序打开文件时,您可以使用我以前创建的脚本: 'Run Script InsertContextMenu Sub InsertContextMenu () Dim sText Dim sExePath 'For executable-only context menu, the key should be created

我们手动右键单击文件,然后选择“打开方式”选项以其他格式打开


现在,我需要通过vbscript执行此操作。如果您想使用vbscript创建关联脚本,例如,当您编写文件并用特定程序打开文件时,您可以使用我以前创建的脚本:

'Run Script
InsertContextMenu

Sub InsertContextMenu ()
Dim sText
Dim sExePath

'For executable-only context menu, the key should be created here
'HKEY_CLASSES_ROOT\exefile\shell

sText = InputBox ("Enter the Text for the context menu." & vbNewLine & vbNewLine & "Example" & vbNewLine & "Open with Notepad")

If Len(Trim(sText)) > 0 Then
    sExePath = InputBox ("Enter the path of the executable file for the context menu." & vbNewLine & vbNewLine & "Example" & vbNewLine & "C:\Windows\Notepad.exe")
    If Len(Trim(sExePath)) > 0 Then
        Set SHL = CreateObject ("WScript.Shell")
        SHL.RegWrite "HKCR\*\Shell\" & sText & "\",sText
        SHL.RegWrite "HKCR\*\Shell\" & sText & "\Command\", sExePath & " %1"

        If Len(SHL.RegRead ("HKCR\*\Shell\" & sText & "\Command\")) > 0 Then
            MsgBox "The Context Menu successfully created !.",vbInformation
        Else
            MsgBox "An unknown error has occured !!",vbCritical
        End If
    End If
End If

Set SHL = Nothing
End Sub

只需复制上面的代码,粘贴到一个文件中,并为该文件指定扩展名
.vbs

要使用特定的应用程序打开文件,请使用运行该应用程序的方法并将文件名作为参数传递

下面是一个在记事本、Internet Explorer和Microsoft Word中打开相同文本文件的示例:

strFileName = "c:\myfile.txt"
Set oShell = CreateObject("WScript.Shell")

oShell.Run "notepad "  & strFileName
oShell.Run "iexplore " & strFileName
oShell.Run "winword "  & strFileName
请注意,如果文件名包含空格,则需要将其括在引号中,如下所示:

oShell.Run "winword ""c:\my file.txt"""

我们必须在何处指定要使用其他文件类型打开的文件路径尝试运行脚本它将询问您示例中的路径。我尝试了,但文件未打开..其显示消息为“上下文菜单已成功创建”..我想以文件创建时给定的格式打开该文件asked@Ramesh:您指定了什么类型的文件?您要用记事本打开该文件类型的文件路径?记事本和路径是C:\test.doc..我已经用记事本格式打开了.doc文件我不清楚您要的是什么-您是要求a)您的VBScript成为“打开方式”菜单中可用的选项之一,还是b)给定一个文件,检索可用“打开方式”项的列表,并可能通过VBScript调用其中一个(通过VBScript)或c)给定一个文件,通过VBScript使“打开方式”对话框出现?我必须以其原始文件类型以外的其他格式打开文件。例如:如果一个文件通过vbscript以word格式,我必须以notpad格式打开它。你的意思是,使用默认的应用程序打开一个文件?Helen..你的代码第一次工作..后来它作为“Microsoft vbscript运行时错误'800a0046'-权限被拒绝”抛出但我没有更改代码、文件路径或文件权限