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,这个逻辑确实帮助我解决了问题,我能够完成我的任务。完成后将发布完整脚本。