Цитата:
Цитата Stolc
Будет папка IN, в эту папку попадают файлы для обработки. После обработки файлы попадают в папку OUT. »
|
Ваш скрипт это не делает.
Вот вариант. Обрабатываются все файлы в инбоксе, обработанные идут в аутбокс, исходный перемещается в архив.
Это чистый vbs, CMD не задействован
Код:
BoxIn = "Z:\Box_In"
BoxOut = "Z:\Box_Out"
BoxArc = "Z:\Box_Arc"
RegExp = "incoming.*\.txt"
Mre = Array("voronez", "Воронеж", _
"tver", "Тверь", _
"rostov", "Ростов", _
"sochi", "Сочи", _
"moskva", "Москва", _
"orel", "Орел")
Set Mask = CreateObject("VBScript.RegExp")
Mask.Pattern = RegExp
Mask.IgnoreCase = True
Mask.Global = True
j = 0
With CreateObject("Scripting.FileSystemObject")
Set Fold = .GetFolder(BoxIn)
Set Files = Fold.Files
For Each iFile In Files ' Цикл по файлам в папке (как вариант решения)
If Mask.Test(iFile.Name) Then
Set Fin = .OpenTextFile(iFile, 1, False)
Text = Fin.ReadAll
Fin.Close
For i = LBound(Mre) To UBound(Mre) Step 2
Text = Replace(Text, Mre(i), Mre(i + 1))
Next
Set Fout = .OpenTextFile(BoxOut + "\" + iFile.Name, 2, True)
Fout.Write Text
Fout.Close
If .FileExists(BoxArc + "\" + iFile.Name) Then .DeleteFile BoxArc + "\" + iFile.Name, True
.MoveFile iFile, BoxArc + "\"
j = j + 1
End If
Next
End With
MsgBox "Обработано " + CStr(j) + " файлов"
Мой второй CMD работает на порядок быстрее, чем первый, однако vbs работает мигом.
|