CODE: [Copy to clipboard]
::code by lxmxn @ cn-dos.net
::Divide file into pieces.
@echo off&setlocal EnableDelayedExpansion
if not "%~s1"=="" (
echo %~s1
set "file=%~s1"
goto last
) else (goto begin)
:begin
cls
set /p file=请输入你要分割的文件名:
:last
for /f "delims=" %%i in ("%file%") do (
echo %%i
set filename=%%~nxi
set filesize=%%~zi
set name=%%~ni
set yslj=%%~dpi
set /a kbsize=%%~zi/1024
echo !yslj!
)
:redo
set /p fen= %filename% 文件的大小是 %filesize% 字节(大约 %kbsize% KB),请输入你要分隔出的文件大小:
if %fen% gtr %filesize% (
cls
echo 输入的错误,请重新输入~
goto :redo
)
set /a over=%filesize%/%fen%
set /a over_=%over%+1
set /p choose=大概可以从 %filename% 中分割出 %over_% 个文件,是否继续?【Y】/【N】
echo.&echo.
if /i not "%choose%"=="y" goto :end
if exist new_%name%\*.rar del new_%name%\*.rar /a /q
md new_%name% 2>nul
if %over_% geq 1 if %over_% leq 9 set num=1
if %over_% geq 10 if %over_% leq 99 set num=01
if %over_% geq 100 if %over_% leq 999 set num=001
if %over_% geq 1000 if %over_% leq 9999 set num=0001
rar a /v%fen%b /df /m0 /inul new_%name%\new_%name%.rar %file%
set /p choose1=是否要将分割的文件合并?【Y】/【N】
echo.&echo.
if /i not "%choose1%"=="y" goto :end
rar x /kb /df /inul new_%name%\new_%name%.part%num%.rar "%yslj%"
pause&endlocal
goto :eof
:end
set /p _=操作被取消……
start.
goto :eof