2016-08-07 2 views
1

Когда я запускаю мой VBScript, он говорит (В Windows хост Script):Процесс не может получить доступ к файлу, потому что он используется другим процессом. Код: 80070020, VBScript


C: \ Users \ Admin \ Desktop \ test.vbs

Line: 34

Char: 1

Ошибка: процесс не может получить доступ к файлу, поскольку он используется другим процессом.

Код: 80070020

Источник: (нуль)


Как я мог бы это исправить? Кроме того, вот сценарий ...

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

Что ваша цель? Я думаю, вы хотите скрыть 'c: \ folder'? – Hackoo

ответ

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

Closes an open TextStream file.

object.Close 

Из справки.

Вам необходимо закрыть его после записи на него перед его использованием.

Смежные вопросы

 Смежные вопросы