Цитата Arsenik77:
Iska, А можете сделать log файл, сколько файлов было удалено?? »
|
Попробуйте так:
Код:
Option Explicit
' IOMode Enum
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
' Format Enum
Const TristateUseDefault = -2
Const TristateTrue = -1
Const TristateFalse = 0
Dim objFSO
Dim strFolder
Dim objFile
Dim objDictionary
Dim elem
Dim objTS
If WScript.Arguments.Count = 1 Then
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
strFolder = WScript.Arguments.Item(0)
If objFSO.FolderExists(strFolder) Then
Set objTS = objFSO.OpenTextFile( _
objFSO.BuildPath( _
objFSO.GetParentFolderName(WScript.ScriptFullName), _
objFSO.GetBaseName(WScript.ScriptFullName) & ".log" _
), ForAppending, True, TristateTrue)
objTS.WriteLine
objTS.WriteLine FormatDateTime(Now())
objTS.WriteLine
Set objDictionary = WScript.CreateObject("Scripting.Dictionary")
For Each objFile In objFSO.GetFolder(strFolder).Files
If objDictionary.Exists(objFile.Size) Then
objTS.WriteLine objFile.Path
objFSO.DeleteFile objFile.Path, True
Else
objDictionary.Add objFile.Size, objFile.Path
End If
Next
objDictionary.RemoveAll
Set objDictionary = Nothing
objTS.Close
Set objTS = Nothing
Else
WScript.Echo "Folder [" & strFolder & "] not found."
End If
Set objFSO = Nothing
Else
WScript.Echo "Usage: " & WScript.ScriptName & " <folder>"
End If
WScript.Quit 0
Лог-файл будет создан в той же папке
[сие, конечно, в корне неправильно] и под тем же именем, что и скрипт, но с расширением «.log».
P.S. Или имена Вам не важны, а нужно именно количество удалённых файлов?