На WSH:
Скрытый текст
Код:
![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim strSourceFolder
Dim objFile
If WScript.Arguments.Count = 1 Then
strSourceFolder = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strSourceFolder) Then
For Each objFile In .GetFolder(strSourceFolder).Files
Select Case LCase(.GetExtensionName(objFile.Name))
Case "jpg", "jpeg", "jpe"
With WScript.CreateObject("ADODB.Stream")
.Type = adTypeBinary
.Open
.LoadFromFile objFile.Path
.Position = objFile.Size - 1
If AscB(MidB(.Read(1), 1, 1)) = &H0A Then
.Position = objFile.Size - 1
.SetEOS
.SaveToFile objFile.Path, adSaveCreateOverWrite
End If
.Close
End With
Case Else
' Nothing to do
End Select
Next
Else
WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: " & WScript.ScriptName & " <Source folder>"
WScript.Quit 1
End If
WScript.Quit 0
Достаточно просто перетащить целевую папку на скрипт. Будут найдены все файлы в этой папке с расширениями "jpg", "jpeg", "jpe", и, если содержимым их последнего байта окажется «0x0A» — они будут урезаны по размеру на этот последний байт. Вложенные папки не обрабатываются. Резервных копий исходных файлов не делается.