vbscript : fso. opentextfile 权限被拒绝

标签 vbscript file-permissions

在我的代码段中,当我编写文件名脚本时,它给了我一个权限被拒绝
在以下行:

Set objTextFile = objFSO.OpenTextFile(strDirectory & strFile, ForAppending, True)

这是脚本
'output log info
Function OutputToLog (strToAdd)  
    Dim strDirectory,strFile,strText, objFile,objFolder,objTextFile,objFSO
    strDirectory = "c:\eNet"
    strFile = "\weeklydel.bat"
    'strText = "Book Another Holiday"
    strText = strToAdd

    ' Create the File System Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    ' Check that the strDirectory folder exists
    If objFSO.FolderExists(strDirectory) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFolder = objFSO.CreateFolder(strDirectory)
       'WScript.Echo "Just created " & strDirectory
    End If

    If objFSO.FileExists(strDirectory & strFile) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
       'Wscript.Echo "Just created " & strDirectory & strFile
    End If

    set objFile = nothing
    set objFolder = nothing
    ' OpenTextFile Method needs a Const value
    ' ForAppending = 8 ForReading = 1, ForWriting = 2
    Const ForAppending = 2

    Set objTextFile = objFSO.OpenTextFile(strDirectory & strFile, ForAppending, True)

    ' Writes strText every time you run this VBScript
    objTextFile.WriteLine(strText)
    objTextFile.Close
End Function

我已经分配了 vbscript 域管理员权限。有任何想法吗?

提前致谢

最佳答案

我认为这与文件权限本身无关。这与您使用以下方法创建文件有关:

Set objFile = objFSO.CreateTextFile(strDirectory & strFile)

这将创建文件......并携带对该文件的引用(objFile)

然后在销毁引用之前不要关闭文件
...
'Missing objFile.Close here
Set objFile = nothing
Set objFolder = nothing
...

因此,您正在破坏引用,但将文本流在内存中打开,从而锁定您的文件。

然后,当文件已经“打开”时,您将继续尝试重新打开文件。这有点啰嗦,您在创建文件后已经获得了一个引用 - 直接写入该引用会更容易,而不是在创建另一个引用之前销毁该引用。

关于vbscript : fso. opentextfile 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369242/

相关文章:

vbscript - 通过 VBScript 检测 Windows 驱动器

c# - 如果对文件的访问被拒绝,线程 try catch 继续

c++ - 如何在Qt/C++中设置Windows文件权限

linux - 如何从目录中删除 ACL 并恢复到通常的访问控制?

vbscript - VBScript 中的多维数组过滤

java - 如何在java中执行vbs文件,哪个目录包含空格

javascript - 如何在现有 PDF 中嵌入并执行 JavaScript?

windows - VBscript,写入注册表

linux - mkdir() 怎么会成功却设置了错误的权限呢?

linux - Nginx 无法在 755 权限文件夹中创建文件