解決方案

解決方案

別笑。

我處於具有鎖定桌面的公司環境中。安裝第三方應用程式不是一個選項。

記事本基本上沒問題,但最大的痛苦是它無法偵測檔案是否已開啟。我最終在兩個地方編輯了文件。

因此,我想我應該編寫一些 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

打開文件並做你想做的事)

相關內容