【问题标题】:Location of the temp folder on remote windows远程窗口上临时文件夹的位置
【发布时间】:2011-06-28 09:05:54
【问题描述】:

如何确定远程 Windows 机器上临时文件夹的位置?

我可以使用它连接到它

objSWbemLocator.ConnectServer(strComputer, _
                              "root\cimv2", _
                              strUser, _
                              strPass)

提前致谢!

【问题讨论】:

    标签: windows networking vbscript wmi


    【解决方案1】:

    记住每个本地或域用户都可以有自己的路径,您可以查询Win32_Environment 类:

    Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
    Set objSWbemLocator = objSWbemLocator.ConnectServer(strComputer, _
        "root\CIMV2", _
        strUser, _
        strPass)
    
    Set colItems =objSWbemLocator.ExecQuery("SELECT * FROM Win32_Environment WHERE Name='TEMP' AND SystemVariable=FALSE AND username='machine_or_domain_name\\user_whos_temp_path_you_require'", "WQL", 48)
    
    For Each objItem In colItems
        msgbox  objItem.VariableValue
    Next
    

    【讨论】:

    • Alex,有什么想法为什么同样的方法不会让我得到 %USERPROFILE% 变量?我刚刚将Name='TEMP' 更改为Name='USERPROFILE'。使用您的代码,我能够获得“%USERPROFILE%\Local Settings\Temp”。
    • 是的,它没有扩展,似乎也不能通过 Win32_Environment 使用,你想用它做什么? “%USERPROFILE%”在目标机器上有效
    • 也许我需要绝对路径。尚未确定。很有趣。
    【解决方案2】:

    我不太确定,但您是否尝试过使用“%TEMP%”变量作为远程文件夹字符串?我认为windows会自动将其扩展为机器上配置的临时文件夹。

    【讨论】:

    • 我认为它将在本地进行解释。我需要一个绝对路径。还是谢谢。
    • 没有。由于它是服务器连接,因此文件夹字符串也可以远程解释。另外,一旦你连接到文件夹,你可以得到当前的工作目录吗?
    • “您已连接到文件夹”是什么意思?
    猜你喜欢
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多