Firefox 如何使用通配符在特定位置搜索文件夹名称并将其存储在变量中?

Firefox 如何使用通配符在特定位置搜索文件夹名称并将其存储在变量中?,firefox,vbscript,Firefox,Vbscript,这是我写的剧本,我在下面提到了我面临的问题 Option Explicit Dim FSO, WSH, RunDefaultProfile Dim PF, UPF Set FSO = CreateObject("Scripting.FileSystemObject") Set WSH = CreateObject("Wscript.Shell") UPF = Wsh.ExpandEnvironmentStrings("%userprofile%") PF = Wsh.ExpandEnviro

这是我写的剧本,我在下面提到了我面临的问题

Option Explicit
Dim FSO, WSH, RunDefaultProfile
Dim PF, UPF

Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("Wscript.Shell")

UPF = Wsh.ExpandEnvironmentStrings("%userprofile%")
PF = Wsh.ExpandEnvironmentStrings("%ProgramFiles(x86)%")

RunDefaultProfile = """" & PF & "\Mozilla Firefox\firefox.exe" & """" & _
                    " -CreateProfile default"

' Create the Default profile if it not exists
If NOT FSO.FolderExists (UPF & "\AppData\Roaming\Mozilla\Firefox\Profiles\c4ssju9t.default") Then
  WSH.Run RunDefaultProfile
End if

现在我面临的挑战是,Firefox在每台机器上创建一个随机的
.default
文件夹,如果不是FSO,我就不能使用我的
。文件夹存在。如果已经存在,我还想存储
.default
文件夹名。我将使用它运行其他命令并展开脚本。

配置文件的路径存储在文件
%APPDATA%\Mozilla\Firefox\profiles.ini
中。您可以这样从文件中读取它:

Set fso = CreateObject("Scripting.FileSystemObject")
Set sh  = CreateObject("WScript.Shell")

configdir = sh.ExpandEnvironmentStrings("%APPDATA%\Mozilla\Firefox")
inifile   = fso.BuildPath(configDir, "profiles.ini")

If fso.FileExists(inifile) Then
  Set f = fso.OpenTextFile(inifile)
  Do Until f.AtEndOfStream
    line = f.ReadLine
    If Left(line, 5) = "Path=" Then
      relPath = Split(line, "=")(1)
      Exit Do
    End If
  Loop

  f.Close
End If
这将从INI文件(如果存在)获取第一个配置文件路径

然后,您可以像这样使用它来创建缺少的配置文件:

profileExists = False

If Not IsEmpty(relPath) Then
  profile = fso.BuildPath(configdir, relPath)
  profileExists = fso.FolderExists(profile)
End If

If Not profileExists Then sh.Run RunDefaultProfile

配置文件的路径存储在文件
%APPDATA%\Mozilla\Firefox\profiles.ini
中。您可以这样从文件中读取它:

Set fso = CreateObject("Scripting.FileSystemObject")
Set sh  = CreateObject("WScript.Shell")

configdir = sh.ExpandEnvironmentStrings("%APPDATA%\Mozilla\Firefox")
inifile   = fso.BuildPath(configDir, "profiles.ini")

If fso.FileExists(inifile) Then
  Set f = fso.OpenTextFile(inifile)
  Do Until f.AtEndOfStream
    line = f.ReadLine
    If Left(line, 5) = "Path=" Then
      relPath = Split(line, "=")(1)
      Exit Do
    End If
  Loop

  f.Close
End If
这将从INI文件(如果存在)获取第一个配置文件路径

然后,您可以像这样使用它来创建缺少的配置文件:

profileExists = False

If Not IsEmpty(relPath) Then
  profile = fso.BuildPath(configdir, relPath)
  profileExists = fso.FolderExists(profile)
End If

If Not profileExists Then sh.Run RunDefaultProfile

谢谢Ansgar,这个逻辑确实帮助我解决了这个问题,我能够完成我的任务。完成后将发布完整的脚本。感谢Ansgar,这个逻辑确实帮助我解决了问题,我能够完成我的任务。完成后将发布完整脚本。