解决方案

解决方案

别笑。

我所在的公司环境桌面被锁定。无法安装第三方应用程序。

记事本基本还行,但最大的问题是它无法检测文件是否已打开。我最终在两个地方编辑了文件。

所以,我想我应该编写一个小 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

使用一行“wscript.exe %1”从批处理文件 (.cmd) 调用 vbscript。将 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

打开文件并做你想做的事)

相关内容