CODE: [Copy to clipboard]
'1>nul 2>&1&cls&title 分割 %~nx1&@echo off&cmd /c cscript -nologo -e:vbs %~s0 %1&pause&exit
If WScript.Arguments.Count = 0 Then
WScript.Echo "用法:把一个要分割的文件拖到我上面来。"
WScript.Quit
End If
lBlockSize = 10 * 1024 * 1024
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(WScript.Arguments(0))
Set wst = CreateObject("ADODB.Stream")
wst.Type = 1
With CreateObject("ADODB.Stream")
.Type = 1
.Open
.LoadFromFile f.Path
i = 0
Do Until .Position >= .Size
i = i + 1
wst.Open
wst.Write .Read(lBlockSize)
wst.SaveToFile f.Path & "." & i, 2
wst.Flush
wst.Close
Loop
.Close
End With
s = "@echo off" & vbNewLine & _
"set ""fn=" & f.Name & """" & vbNewLine & _
"copy nul ""%fn%"" 1>nul" & vbNewLine & _
"for /l %%i in (1, 1, " & i & ") do (copy /b ""%fn%"" + ""%fn%.%%i"" ""%fn%"") 1>nul" & vbNewLine & _
"echo 合并完成: " & f.Name & vbNewLine & _
"pause"
batPath = f.ParentFolder.Path & "\还原 [" & f.Name & "].bat"
fso.CreateTextFile(batPath, True).Write s
WScript.Echo "分割完成,合并这些文件的批处理是" & vbCrLf & batPath