首页 文章

该进程无法访问该文件,因为该文件正由另一个进程使用 . 代码:80070020,VBScript

提问于
浏览
1

当我运行我的vbscript时,它说(在Windows脚本宿主中):


C:\用户\ ADMIN \桌面\ Test.vbs

行:34

字符:1

错误:进程无法访问该文件,因为该文件正由另一个进程使用 .

代码:80070020

来源:( null)


我怎么能解决这个问题?这里也是剧本......

Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFSO, objFolder, objShell, objFile
Dim strDirectory, strFile
strDirectory = "c:\Folder"
strFile = "\Hidden.bat"
If objFSO.FolderExists(strDirectory) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
End If


If objFSO.FileExists(strDirectory & strFile) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
End If

set objFolder = nothing
set objFile = nothing

Const fsoForAppend = 8

Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("C:\Folder\Hidden.bat", fsoForAppend)

objTextStream.WriteLine "attrib ""Folder"" +s +h"

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run """C:\Folder\Hidden.bat"""
Set objShell = Nothing

2 回答

  • 0

    无需创建任何批处理文件来隐藏您的文件夹:

    Option Explicit
    Dim objFSO,objFolder,strDirectory,Command,Result,objShell
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strDirectory = "C:\Folder"
    
    If objFSO.FolderExists(strDirectory) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
    Set objFolder = objFSO.CreateFolder(strDirectory)
    End If
    set objFolder = nothing
    
    Command = "Cmd /c Attrib +s +h "& DblQuote(strDirectory) &""
    Set objShell = CreateObject("WScript.Shell")
    Result = objShell.Run(Command,0,True)
    Set objShell = Nothing
    '****************************************************************
    Function DblQuote(str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '****************************************************************
    
  • 0

    关闭一个打开的TextStream文件 . object.Close

    来自帮助 .

    在使用之前,您需要在写入之后将其关闭 .

相关问题