Тема: VBS: Удаление файлов с завершением процессов.
Добрый день уважаемые скриптописцы )) На работе понадобилась вот такая задачка. Убивать все процессы 1С и удалять все *.cdx.
конечно я сначала воспользовался поиском нашел скрипт по удалению процессов. Скрипт по рекурсивному перебору у меня был. Вы мне уже один раз помогли за что вам еще раз ОРГОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!. но есть одно НО скрипт их перемещает.. Я заменил процедуру MoveFile на DeleteFile убрал лишнее (ну я так думаю что это было лишнее
) вроде бы ничего сложного.. но он почему то ругается на 40-ую строку 1 символ. Подскажите мне пожалуйста, где я мрачно затупил ?
Dim objFSO
Dim objFolder
Dim strFileName
Dim strPath
Dim lngSize
Dim WshShell, WshFldrs, s
Dim strPath2ArcMail
Dim lngFileSize
'====================================================================
On Error Resume Next
'**********************************__Убиваем процессы_notepad.exe__*************************************
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
For Each objProc In objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'")
objProc.Terminate
Next
'****************************************************************************************************
MoveExpansionFales = "*.txt" ' Файлы которые будут удаляться
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("MyDocuments")
Set WshShell = CreateObject("WScript.Shell")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
InitialFolder = "D:\111111" ' Каталог, откуда удаляем
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShellApp = CreateObject("Shell.Application")
' процедура рекурсивно перебирает файлы в каталоге
Sub DeleteFiles(FolderPath)
On Error Resume Next
Set objFolderItems = objShellApp.NameSpace(FolderPath).Items()
For Each objFolderItem In objFolderItems
If objFolderItem.IsFolder And LCase(Right(objFolderItem.Name, 4)) <> ".zip" Then
DeleteFiles objFolderItem.Path
Else
Set objFile = objFSO.GetFile(objFolderItem.Path)
If objFile.DateCreated < ControlDate Then
DeleteFile objFolderItem.Path
End If
End If
Next
End Sub
' процедура удаляет файл
Sub DeleteFile(FilePath)
On Error Resume Next
SubPath = Mid(FilePath, Len(InitialFolder) + 1)
TargetPath = TargetFolder & SubPath
FolderPath = objFSO.GetParentFolderName(TargetPath)
If Not objFSO.FolderExists(FolderPath) Then
CreateFolder FolderPath
End If
' если у файла назначения есть атрибут ReadOnly, снимаем его
If objFSO.FileExists(TargetPath) Then
Set objFile = objFSO.GetFile(TargetPath)
If objFile.Attributes And 1 Then
objFile.Attributes = objFile.Attributes - 1
End If
End If
ExpansionFile = LCase(Right(FilePath, 4)) 'Определяем разширение файла
If InStr(MoveExpansionFales , ExpansionFile) Then
objFSO.MoveFile FilePath, TargetPath
If Err.Number <> 0 Then
LogStream.WriteLine
LogStream.WriteLine FilePath
LogStream.WriteLine Err.Description
LogStream.WriteLine
Err.Clear
Else
LogStream.WriteLine TargetPath
End If
End If
End Sub
