我正在尝试获取VBScript中当前目录的子目录内的文件的path。 以下似乎不工作?
currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName))) Filetocopy = currentDirectory & "testuser.js"
这是整个代码:
Set oFSO = CreateObject("Scripting.FileSystemObject") strFolder = oFSO.GetParentFolderName(WScript.ScriptFullName) Filetocopy = oFSO.Buildpath(strFolder,"unproxyuser.js") ''# get AppdataPath Set WshShell = CreateObject("WScript.Shell") Set WshSysEnv = WshShell.Environment("PROCESS") AppdataPath = WshSysEnv("APPDATA") FoxProfilePath = AppdataPath & "MozillaFirefoxProfiles" '"# is firefox and user.js present? if oFSO.FolderExists(FoxProfilePath) AND oFSO.FileExists(Filetocopy) Then ''# copy user.js in all profilefolders to get around those random profile names =) For Each ProfileFolder In oFSO.GetFolder(FoxProfilePath).Subfolders oFSO.GetFile(Filetocopy).copy ProfileFolder & "" & Filetocopy,True Next End If '"# clean up Set oFSO = nothing Set WshShell = nothing Set WshSysEnv = nothing
Windows批处理:parsingpath/文件名,testing文件与目录?
检测当用java访问/读取文件时
使用C ++和stat获取所有者的访问权限
如何在Java中引用目录?
如何检查文件是否只包含在Linux shell中的零?
我建议在处理文件路径时使用FileSystemObject :
Set oFSO = CreateObject("Scripting.FileSystemObject") strFolder = oFSO.GetParentFolderName(WScript.ScriptFullName) Filetocopy = oFSO.Buildpath(strFolder,"testuser.js")
编辑:问题是在你的脚本的这一行:
oFSO.GetFile(Filetocopy).copy ProfileFolder & "" & Filetocopy,True
由于Filetocopy包含完整的文件名,因此当您将其与Filetocopy连接时,会得到无效的文件名,如下所示:
C: Documents and Settings 用户名 Application Data Mozilla Firefox Profiles mlreq6kv.default D: unproxy user.js
改变这一行到下面的一个,你的脚本应该工作正常。 (注意: ProfileFolder末尾的尾随路径分隔符需要指明profile文件夹,例如mlreq6kv.default确实是一个文件夹而不是一个文件。)
oFSO.GetFile(Filetocopy).copy ProfileFolder & "",True
您可以通过以下方式获取当前目录:
Set WSHShell = WScript.CreateObject("WScript.Shell") WScript.Echo WshShell.CurrentDirectory
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。