gpt4 book ai didi

vbscript - 如何在visual basic脚本上引用主文件夹

转载 作者:行者123 更新时间:2023-12-03 17:44:06 25 4
gpt4 key购买 nike

首先让我说我是一个 Linux 人,并不真正熟悉 VBS 甚至 Windows 全局变量。

我被要求更新一个 VBS 脚本,该脚本基本上将最新版本的访问表单复制到计算机上。目前,它将此访问表单放在 C:\MedMaint 中。问题是我们不在这个位置以管理员身份运行。所以当新用户尝试访问vbs脚本时,必须由原用户删除该文件夹。我需要将此脚本更改为 ~/MedMaint 的 linux 等效项,或“C:\Documents and Settings\MyUserName\Application Data\MedMaint”

这是代码示例

    If Not FSO.FileExists("c:\MedMaint\" & File.Name) Then
FSO.CopyFile File.Path, "c:\MedMaint\" ' copy the missing file
Else
Set RPFile = FSO.GetFile("c:\MedMaint\" & File.Name) ' Get the file object from the local object
If (File.DateLastModified >= RPFile.DateLastModified) Then
FSO.CopyFile File.Path, "c:\MedMaint\"

我想知道如何更改 c:\MedMaint\对用户主目录的引用

最佳答案

获取的路径用户的个人资料文件夹 (例如,Windows XP 中的 C:\Documents and Settings\ 或 Windows Vista 中的 C:\Users\ ),您可以执行以下任一操作:

  • 评估 USERPROFILE使用 WshShell.ExpandEnvironmentStrings 的环境变量方法:
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
  • 使用 Shell.Namespace 检索文件夹路径方法:
    Const ssfPROFILE = &H28
    Set oShell = CreateObject("Shell.Application")
    strHomeFolder = oShell.NameSpace(ssfPROFILE).Self.Path

  • 如果需要 的路径应用程序数据文件夹 (例如 Windows XP 中的 C:\Documents and Settings\ \Application Data 或 Windows Vista 中的 C:\Users\ \AppData\Roaming),您可以使用类似的代码:
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%APPDATA%")

    ''# or

    Const ssfAPPDATA = &H1A
    Set oShell = CreateObject("Shell.Application")
    strHomeFolder = oShell.NameSpace(ssfAPPDATA).Self.Path

    要将文件夹名称附加到路径,您可以简单地使用字符串连接,如下所示:
    strMedMaintFolder = strHomeFolder & "\MedMaint"

    或者,如果您的脚本包含许多路径连接,我建议使用 FileSystemObject.BuildPath 方法,因为它会为您处理路径分隔符( \ ):
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    strMedMaintFolder = fso.BuildPath(strHomeFolder, "MedMaint")

    关于vbscript - 如何在visual basic脚本上引用主文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865777/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com