2016-08-07 15 views
1

Wenn ich meine Vbscript laufen, heißt es (in Windows Script Host):Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. Code: 80070020, VBScript


C: \ Benutzer \ admin \ Desktop \ Test.vbs

Line: 34

Char: 1

Fehler: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

Code: 80070020

Quelle: (null)


Wie würde ich in der Lage sein, dies zu beheben? Auch hier ist das Skript ...

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 
+0

Was ist Ihr Ziel? Ich denke du willst 'c: \ Ordner' verstecken? – Hackoo

Antwort

0

Ohne eine Batch-Datei erstellen Sie Ihre Ordner zu verbergen:

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

Closes an open TextStream file.

object.Close 

Von Hilfe.

Sie müssen es nach dem Schreiben zu schließen, bevor Sie es verwenden.

Verwandte Themen