我想在Windows资源管理器工具栏上创建一个自定义按钮来创建一个新的空白文本文档,类似于已存在的“新建文件夹”按钮。
在these steps之后,我能够创建我的按钮并让它运行自定义VBScript:
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFile = fso.CreateTextFile(WshShell.CurrentDirectory & "\NewTextDocument.txt", True)
objFile.Close
Wscript.Quit
但是,WshShell.CurrentDirectory
的值为C:\Windows\system32
。 (我认为这是因为被调用的命令是wscript.exe
,它位于该目录中。)。
如何获取资源管理器窗口打开的目录?
-
有点相关:我运行此脚本时收到“Permission denied”错误。我假设这是因为system32
目录受到保护。是否有任何其他预防措施可确保脚本可以创建文件?
感谢。
答案 0 :(得分:0)
你需要一种不同的方法。
使用shell not file system来做你想做的事。
这是使用您需要的对象类型的两个示例脚本。
'Const NETHOOD = &H14& 'fonts
'Const NETHOOD = &H12& 'Network
Const NETHOOD = &H11& 'My Comp
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(NETHOOD)
Set objFolderItem = objFolder.Self
Wscript.Echo objFolderItem.Path
Set colItems = objFolder.Items
For Each objItem in colItems
For x = 1 to 79
Properties = Properties & vbtab & objFolder.GetDetailsOf(ObjItem, x)
Next
Wscript.Echo objItem.Name" & Properties
Properties=""
Next
并找到正确的窗口
Set objShell = CreateObject("Shell.Application")
Set AllWindows = objShell.Windows
For Each window in AllWindows
msgbox window.locationname
Next