修改bat

查看 57|回复 2
作者:ccb666   
如题,这个bat的作用是把拖入的文件去掉2进制的前4个字节,并重新生成同名png文件。。目前问题是一次只能拖入一个文件,,能不能优化以下实现能多个文件拖入???
[Asm] 纯文本查看 复制代码' & cls & cscript.exe /nologo /e:vbscript "%~f0" "%~f1" "%~n1.png"

Set oStream = CreateObject("ADODB.Stream")
oStream.Type = 1    'adTypeBinary
oStream.Mode = 3    'adModeReadWrite
oStream.Open()
With CreateObject("ADODB.Stream")
    .Type = 1    'adTypeBinary
    .Mode = 3    'adModeReadWrite
    .Open()
    .LoadFromFile WScript.Arguments(0)
    .Position = 4
    .CopyTo oStream
    .Close()
End With
oStream.SaveToFile WScript.Arguments(1), 2    'adSaveCreateOverWrite
oStream.Close()

文件, 拖入

jyjjf   

干脆笨办法你直接一个文件一个文件的指定(一个文件一个脚本),然后excel批量替换文件名,然后拼成一个大的BAT
yang0318   

'获取被拖拽的文件集合
Set files = WScript.Arguments.Unnamed
'Setup Objects
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each file In files
    If FSO.FileExists(file) Then
        '处理文件,并输出同名png文件
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Type = 1    'adTypeBinary
        oStream.Mode = 3    'adModeReadWrite
        oStream.Open()
        With CreateObject("ADODB.Stream")
            .Type = 1    'adTypeBinary
            .Mode = 3    'adModeReadWrite
            .Open()
            .LoadFromFile file
            .Position = 4
            .CopyTo oStream
            .Close()
        End With
        newFileName = FSO.GetParentFolderName(file) & "\" & FSO.GetBaseName(file) & ".png"
        oStream.SaveToFile newFileName, 2    'adSaveCreateOverWrite
        oStream.Close()
    End If
Next
您需要登录后才可以回帖 登录 | 立即注册

返回顶部