Войти

Показать полную графическую версию : Удалить в папке файлы с одинаковым название но разным расширением


929151
27-01-2016, 16:46
есть файлы:

имя_файла.eps
имя_файла.jpg

нужно чтобы скрипт удалял jpg файл а eps оставлял.

greg zakharov
28-01-2016, 09:25
Хотя я задокументировал сценарий, все же поясню. Первый параметр, передаваемый сценарию - папка, в которой находятся файлы, второй - повторяющееся имя файлов, третий - расширение того файла, которое не должно быть удалено.Function DeleteReplicants(dir, name, ext)
With CreateObject("Scripting.FileSystemObject")
Dim objFolder : Set objFolder = .GetFolder(.GetAbsolutePathName(dir))

For Each objFile In objFolder.Files
Dim objArray : objArray = Split(.GetFileName(objFile), ".", -1, 1)
If objArray(0) = name And objArray(1) <> ext Then
WScript.Echo objFile
.DeleteFile(objFile)
End If
Next

Set objFolder = Nothing
End With
End Function

If WScript.Arguments.Count <> 3 Then
WScript.Echo "Usage: " & WScript.ScriptName & " <path> <name> <ext>"
WScript.Echo " path - source place for the files to process"
WScript.Echo " name - a base name which repeats twice or more times"
WScript.Echo " ext - extension of that file which shouldn" & Chr(39) & "t be deleted"
WScript.Quit(1)
End If

Dim args : Set args = WScript.Arguments : DeleteReplicants args(0), args(1), args(2)
Set args = Nothing

929151
29-01-2016, 13:23
greg zakharov, Спасибо
вот только у меня файлов много и имена разные
файл_183998951.jpg
файл_183998951.eps
файл_172816322.jpg
файл_172816322.eps
файл_172702487.jpg
файл_172702487.eps
файл_189977945.eps
файл_185262920.jpg
файл_185262920.eps

greg zakharov
29-01-2016, 13:54
Так переправьте пример, чтобы оставлял только файлы с расширением .esp




© OSzone.net 2001-2012