0

我有一些代码可以为用户打开 Windows 资源管理器,但它始终以“我的文档”为焦点打开,据我所知,这是 Windows 资源管理器的默认设置。

我可以将它退回到当前用户名目录,但我不能强制它在由变量定义的网络驱动器>文件夹中打开。我尝试使用 OS vb 脚本添加焦点(必须尝试一些东西,它在语法上看起来非常相似?)但这仍然忽略了文件夹路径并求助于用户目录:

def Open_Win_Explorer_and_Select_Dir():
    import subprocess
    fldr2opn = currentproject.get()
    # os.popen('start explorer,"%s" ' % fldr2opn)
    os.popen('c:\windows\EXPLORER.EXE /n, /select, "%s"' % fldr2opn)

如果我在 它返回正确的路径print(fldr2opn)之前输入一个语句,那么我知道这是正确的,这只是让我难过的语法。os.popen()"P:\Projects_2013\test_dir"os.popen

4

2 回答 2

1

对于仍然需要答案的人,我设法以这种方式实际打开了一个特定目录:

    # For an absolute path or relative from My Documents
    import subprocess
    p = subprocess.Popen('C:\Windows\EXPLORER.EXE /n /cwd="' + directory + '"')
    p.wait()

    # For a relative path from the current directory
    import subprocess
    import os
    p = subprocess.Popen('C:\Windows\EXPLORER.EXE /n /cwd="' +
                         os.getcwd() + os.sep + directory + '"')
    p.wait()
于 2015-05-18T14:22:25.827 回答
0

去掉选项之间的空格:

os.popen('c:\windows\EXPLORER.EXE /n,/select,%s' % fldr2opn)

为了使这项工作与打开路径中的空格一起使用,U 建议使用subprocess.Popen()with

cmd = ['c:\windows\EXPLORER.EXE', '/n,/select,%s' % fldr2opn]

相关:Windows 资源管理器命令行选项

于 2013-11-07T14:22:19.087 回答