Board logo

标题: 求一cmd下分割+合并文件的dos程序! [打印本页]

作者: tianzizhi     时间: 2006-12-20 06:01    标题: 求一cmd下分割+合并文件的dos程序!

dos编程高手们,我想有一个cmd下分割文件的dos程序,把它作为系统文件放到system32里,功能如下:
1,指定大小分割文件(基本功能)
2,合并分割后的文件(用这个程序合并和copy命令合并都可以)
3,音频和视频之类的文件分割后文件可以正常播放.
4,自定义分割文件存放目录.
精通编程的朋友编一个这样的程序难度不会大吧,帮我一下这个忙吧,谢谢!!!
作者: electronixtar     时间: 2006-12-20 07:58
恩,lxmxn正在开发这个东东,可能马上就出来了~~
作者: tigerpower     时间: 2006-12-20 09:17
使用 split :

C:>split -a1 -b3m Jay-HairLikeSnow.mp3 发如雪
附件 1: split.zip (2006-12-20 09:17, 8.09 K, 下载附件所需积分 1点 ,下载次数: 143)

作者: tianzizhi     时间: 2006-12-20 09:25
强人,谢谢....这个是自己写的吗,网上找不到的,能否用c语言写出这样类似的程序,我想要一下这个代码,请大家帮忙........
作者: vkill     时间: 2006-12-21 09:50
split这个东西很早了哦,我记得现在用的都还是几年前出的,不过确实很好用,合并可以copy /b
作者: electronixtar     时间: 2006-12-21 23:52
lxmxn那个是利用 WinRAR 版本的
::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

作者: poor     时间: 2006-12-23 13:22
谢谢
作者: 陈沫     时间: 2007-1-10 10:34
我以前用 BC3.0 写的一个,但原码?
主要是用来‘在字符界面显示中文’,
作编程练习写的,
待我重新编译了再放上来。:P

[ Last edited by 陈沫 on 2008-2-17 at 01:33 AM ]
作者: yz1test     时间: 2007-3-30 04:57
正需要,不知是不是管用,谢谢楼主
作者: oilio     时间: 2007-5-11 17:29
split有没有中文的参数解释啊,有点不太明白英文。
作者: zhzhh521     时间: 2007-11-13 15:37
好东西,非常感谢!
作者: 332567878     时间: 2007-11-25 00:21    标题: 我想要split

我想要,但是我没有积分
作者: 332567878     时间: 2007-11-26 14:28    标题: electronixtal

怎么我用的时候只出来一个空文件夹啊?
作者: 332567878     时间: 2007-11-28 09:13    标题: 借地方用用

分割合并
@echo off
copy rar.exe split.exe c:\windows\
set /p file=请输入要分割的文件名
rar a -m0 %file%
ping 127.0.0.1 -n 4>nul
split %file%.rar --b10000000 --part'.
ping 127.0.0.1 -n 4>nul
if existpart'.aa copy /b 01.jpg+part'.aa part01.jpg
md \01\ \02\ \03\
move part??.jpg \01\ %file% \02\ %file%.rar \03\
作者: 110cjy     时间: 2007-12-12 03:28
高手!!
作者: maclover815     时间: 2007-12-13 22:06    标题: 强人支持一下

支持一下。
作者: qmpzal     时间: 2009-6-8 23:32
不会用啊.怎么用的,看不懂英文
作者: 541350555     时间: 2009-12-21 13:39
我晓得一个   不晓得你用的上不        它可以把密码隐藏到图片里        新出来的jpg要用记事本打开  才能看的         
E:\>copy 1.jpg+2.txt e:2.jpg
新出来的这2.jpg就是隐藏有密码的东东
作者: dir00708     时间: 2009-12-28 20:14
在此学到很多东西。谢谢
作者: dos1ryan     时间: 2010-1-10 14:13
谢谢3楼的解答~~收藏代码中~~~
作者: dos1ryan     时间: 2010-1-10 14:50    标题: cmd合并文件

能不能再增加一个功能~~在合并的时候在每个文件的最后追加一些文字~然后一并合到总文件中~~原因:在isql提交存储过程必须以go结束。如果我要批量提交若干个.sql过程,而这些过程中有些不是以go作为结束语,所以isql提交的时候会报错。所以我想在合并文件的时候能在每个文件后都加一个go~~能用dos实现否?
作者: fluent     时间: 2010-5-4 13:26
支持一下!