KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销附送程

[ 14108 查看 / 51 回复 ]

其实是一个大缓存的文件复制工具。




使用Windows系统的复制/移动文件功能时,由于操作系统在底层进行时间片分割,因此文件读写操作非常频繁。

底层时间片分割本来是一件好事,可以避免某一个程序被随机的无期限阻塞。

但是,如果是在同一块物理硬盘上复制/移动文件(不通分区间),就会造成磁头快速的在读写柱面之间来回寻道,导致两大问题:
1. 噪音增加,对盘体的摩擦增加,发热增加,影响硬盘寿命。
2. 读写效率大大的降低,延长了操作时间。




针对这两个问题,我写了这个"高性能缓存复制程序",利用现在机器越配越大的内存,降低读写操作切换的频度,以求提高文件复制效率。

根据测试,在同一个硬盘的两个分区间复制文件,Windows 复制一个220MB文件用了大约50秒,本程序复制一个260MB的文件只用了40秒!


*** 升级版本提高了在同一物理硬盘的操作速度 10%
*** 升级版本提供了在不同物理硬盘的增强操作模式,提高性能一倍!


=== 第二升级版本增加了有用的快捷按钮!
=== 第二升级版本增加磁盘空间和文件大小预览!


(以下广告词)
本程序界面美观,操作方便,稳定可靠,是拥有大量的大文件收集者的居家旅行,杀人越货必备工具!


<<<<< 附送品介绍 >>>>>

64位文件切割器

由于历史原因,目前的绝大多数程序对文件的操作都限制在32位以内,由于超过4GB大文件的日益增多,导致了种种稀奇古怪的问题...

导致我做这个程序的起因是,很久以前下了一个Zip包,是一个某动画的1-26话全集,不过有个问题,这个文件超过了4G (5.8G),于是在WinRAR下打开,认为文件大小只有1.8G,导致只能解出前8话... XD

然后我又查找了N多号称支持64位Zip的程序(WinZip9, ZipForge64 ......) 但是没一个程序能够识别...估计目前64位程序还处于"战国"阶段,每家人开发一个自己的64位扩展Zip格式,也就只能解出自己的.... 但是我手头的Zip包里面没有任何特殊的标志可以识别出到底使用什么软件压缩的,只有一个标准的PK签名....

最后一个绝妙的主意出现了 - 把这个大文件分割成几个小块,这样保证WinRAR可以完整地看到整个小节的内容,然后使用修复模式把文件一部分一部分的提取出来...

但是想到了这个主意后我却Prz了....因为居然找不到一个能够支持分割大于4GB的文件的程序....于是这个程序就诞生了... XD

相信在目前情况下使用的机会不多,但是建议大家收集备用,因为一旦有需要用的时候,花上几个小时去找遍Google是比较划不来的... XD (貌似我经常做这样的事)

[Payview=32]
操作说明:

* 左边的为文件源
* 右边的为目标目录
* 中间的小鱼就是复制按钮
* 下面的托杆控制使用的缓存大小,默认16MB内存

-> 拖拉设定缓存大小
-> 在左边的文件框中选定需要复制的文件或者目录(可以Ctrl或者Shift多选) (选定的目录以及子目录下的所有文件都会被复制,包括空目录和0字节文件)
-> 在右面选定目标目录
-> 按下小鱼,自动开始复制,下方显示每一个文件的复制进度。
-> 如果任何时候希望停止操作,再按一下小鱼即可

++ 默认情况下,遇到操作错误(不能读/写文件/文件夹),或者遇到问题(覆盖文件?),程序会弹出提示框询问接下来的操作。
++ 选择"No Prompt",则程序不会弹出提示框,而是自动选择默认操作:
  + 如果不能建立目标目录,则跳过问题目录,继续复制其他文件/目录
  + 如果不能读原文件/写目标文件,则跳过问题文件,继续复制其他文件/目录
  + 如果目标文件已经存在,则跳过重名文件,继续复制其他文件/目录
  + 如果文件复制被打断(错误或者人工取消),则删除没有完成的副本

最初版本
可调窗口版本+取消确认



++++++ 升级版本 ++++++

* 首先修正了缓存写入结束时的同步磁盘操作,以前存在的问题对操作性能有影响。

  所以新的版本在同一个物理硬盘上复制文件时,性能平均比前一个版本提高10%左右。

  但是,如果在不同的物理硬盘上复制文件时,性能有所下降,这是正常现象,因为不同的情况下要使用的不同的模式才能获得最好的效果,请继续往下阅读...

* 原来窗口上不能选择的"Different HDD"现在可选!

  使用"Different HDD"模式,顾名思义,要求源文件和目标位置在不同的物理硬盘上。

  在这个模式下,指定的缓存将会被程序分成四块,当每一块被填满时,程序将会立刻开始向目标磁盘写数据,同时,读取源文件的过程将不会暂停,因此可以充分利用独立的硬件作并行操作。

  在不同的物理硬盘上复制文件时使用这个选项,将获得比前一个版本高大约一倍的性能!

  注意:程序不会对"不同的物理硬盘"这个条件做强行的要求,但是如果是往同一个硬盘上复制文件时选择该模式,那动作就和Windows本身的复制差不多了... -_-

升级版本




++++++ 本日第二次升级! ++++++

这一次增加了几个有用的按钮:

* 返回上层目录 (其实一直可以用快捷键BackSpace的,如果不知道的人就比较麻烦,还是加入好了)
* 刷新列表 (及时看到外部的改变)
* 删除 (可以直接把文件扔到回收站)

然后应要求增加了磁盘容量显示和文件大小预览:

-- Source部分 --
* 选定一个驱动器,窗口底端就会出现该分区的大小和剩余空间;
* 如果选定一个文件,则会出现这个文件的大小;

-- Destination部分 --
* 选定一个目录,这个目录所在的驱动器的大小和剩余空间就会以Hint(提示)的方式显示出来。

第二次升级版本



<<<<< 赠品 >>>>>

命令行程序...因为用到的机会少,也就没有做图形界面...XD

操作方法如下,有两种切割方法:
1> FXSplit <输入文件> <输出文件> <开始切割位置> <切割长度>
2> FXSplit <输入文件> <输出文件> <开始切割位置> - <结束切割位置>
(注意 第二种 开始和结束之间有一个减号)

upload/KFCFile8274_FXSplit.rar

比如你有一个 6G 的文件: C:\test.bin

如果你想从第 4.5G 的地方提取出1G的东西,目前的能找到切割软件是基本没有办法的(至少我没有找到过)。
使用赠品,有两种方法:

1. 从第 4.5G 的地方开始,提取出1G:
> FxSplit C:\test.bin Z:\test.parts.bin 4831838208 1073741824

解释:
源文件 - C:\test.bin
目标文件 - Z:\test.parts.bin
开始位置 - 4831838208 (4.5G)
截取长度 - 1073741824 (1G)

(注意,强烈推荐将目标文件放在和源文件不在同一个物理硬盘的分区上,原因就不用解释了吧)


2. 从第 4.5G 的地方开始提取,直到5.5G的地方:
> FxSplit C:\test.bin Z:\test.parts.bin 4831838208 - 5905580032

解释:
源文件 - C:\test.bin
目标文件 - Z:\test.parts.bin
开始位置 - 4831838208 (4.5G)
模式标志 - -
结束位置 - 5905580032 (5.5G)

(注意,强烈推荐将目标文件放在和源文件不在同一个物理硬盘的分区上,原因就不用解释了吧)


[/Payview]
分享 转发
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

沙发....

32个KP..........有种JS十足的感觉....(LZ大人...本人胡言乱语5454)
永恒的恋爱~~永恒的回忆~~
http://desktop.yesky.com/SmallPic2/picupload/20050606/0925104.jpg
秋之回忆~我永远的梦~~~~
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

程序可能导致碎片众多,请测试后再决定。
個人站:Secret Nest
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

以下引用scegg在2006-1-20 16:54:11的发言:
程序可能导致碎片众多,请测试后再决定。


没错,所以偶搞了个更好的=v=
欢迎加入全宇宙JS联盟

[。法看的你乎在只别差的魔恶和使天]
↓终极防伪标签↓


引用:
Java Script
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

以下引用scegg在2006-1-20 16:54:11的发言:
程序可能导致碎片众多,请测试后再决定。


降低读写的次数应该和文件的碎片没有关系吧...就算有影响,也只能是降低碎片吧....|||||||

磁盘的位图是由文件系统管理的,只有不停的关闭打开文件再续写才会造成分配策略的不连续——我的程序在写完之前,文件始终保持打开状态。
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

我的能续传喔~

可以控制程序优先级喔~

有记录文件喔~

你40s我才10s都不到喔!
欢迎加入全宇宙JS联盟

[。法看的你乎在只别差的魔恶和使天]
↓终极防伪标签↓


引用:
Java Script
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

啊啊.....吵起来了....

看热闹ING...对两个东西都不太了解..多吵吵让大家了解下....
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

以下引用极乐の逍遥在2006-1-20 17:02:57的发言:
啊啊.....吵起来了....

看热闹ING...对两个东西都不太了解..多吵吵让大家了解下....


明显是我的优势大N多嘛
欢迎加入全宇宙JS联盟

[。法看的你乎在只别差的魔恶和使天]
↓终极防伪标签↓


引用:
Java Script
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

Prz... 不要激动...我还没说完...

我的测试硬盘是 5400RPM的,而且接在USB2.0口上,并且每个分区都有80%使用中...

而且...请仔细读清楚,是在同一个物理硬盘上哦,如果是在两个不同的硬盘上的话,我的复制1GB也才35秒哦...
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[再次升级!没有最好,只有更好!] 昨天是UPS,今天是复印机... -_-b (内含独特促销

哦,还有....集成系统已经是上一个时代的做法了....现在提起“集成”,给人更多的联想是Spyware(间谍程序)...


现在流行的是"绿色软件",高效,简洁,不占宝贵的系统资源......为了减少开机登陆后硬盘狂响一秒钟,大家什么事情都干得出来,何必还要无谓的增加启动时间呢?

在同一硬盘大量的移动文件也不是经常要做的事,最优化的解决方案应该是为最普遍的情况考虑的,所以绿色软件>>集成软件!哈哈哈哈!
飛べない翼に、意味はあるんでしょうか?
TOP