Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
Цитата galclerik:
Подскажите, существует возможность настроить этот скрипт так, чтобы он обрабатывал сразу папку с файлами? »
|
Нет. Надо переписывать:
читать дальше »
Код: ![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Dim strFolder
Dim lngDayOnSeconds
Dim objRegExp
Dim objFile
Dim arrContent
Dim i
If WScript.Arguments.Count = 1 Then
strFolder = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strFolder) Then
Randomize Timer
lngDayOnSeconds = 24 * 60 * 60
Set objRegExp = WScript.CreateObject("VBScript.RegExp")
objRegExp.Pattern = "^(\d{2}\|\d{8}\|\d{8})(\d{6})(\|.*)$"
For Each objFile In .GetFolder(strFolder).Files
If LCase(.GetExtensionName(objFile.Name)) <> "bak" Then
WScript.Echo objFile.Path
With .OpenTextFile(objFile.Path)
arrContent = Split(.ReadAll(), vbLf)
.Close
End With
For i = LBound(arrContent) To UBound(arrContent)
If objRegExp.Test(arrContent(i)) Then
arrContent(i) = objRegExp.Replace(arrContent(i), "$1" & Right("0" & Replace(DateAdd("s", Rnd() * lngDayOnSeconds, 0), ":", ""), 6) & "$3")
End If
Next
objFile.Copy .BuildPath(objFile.ParentFolder.Path, .GetBaseName(objFile.Name) & ".bak"), True
With .CreateTextFile(objFile.Path, True)
.Write Join(arrContent, vbLf)
.Close
End With
End If
Next
Set objRegExp = Nothing
Else
WScript.Echo "Folder [" & strFolder & "] not found."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Folder>"
WScript.Quit 1
End If
WScript.Quit 0
Файлы резервных копий «*.bak» пропускаются при обработке папки.
|
Отправлено: 06:34, 19-12-2013
| #17
|