[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
4# zm900612


常规思路很不通用,甚至会误删;

另类思路那个,句柄,我不懂。。。

解释下,谢谢。

TOP

本帖最后由 plp626 于 2011-5-24 23:51 编辑
来当一个文件被正在试图写入的句柄占用时,除了这个句柄能够进行写入操作以外,它是只读的。


我是句柄盲,有空研究下。。。呵呵;

=====================
4楼第一个代码,
文件名含有等号时。。。
=====================

对重复文件的判定:
A:文件名同
B:文件名同,体积同
C:体积同,内容同

到底是那个,楼主呢?

TOP

本帖最后由 plp626 于 2011-5-25 00:24 编辑

哦,我没看3楼,走神,不好意思。。
====================

这个问题很贴近生活,代码一定也很实用,我很喜欢。。

建议大伙不妨写个【通用,稳健的】代码,就是根据不同的重复定义删除,以及根据创建时间或修改时间选择那个唯一保留。
======================

13# zm900612
可爱,来和一张。。。

TOP

关于内容重复,若用md5会很费时,为了快速只要做个概率算法;

把内容同定义为体积同,且“文件头”同;这样应该可以达到99%以上的概率,且速度快,复制的文件比然被过滤掉。。

而往往我们电脑上存在的重复文件很多事复制而得的重复。。

================

如果再深入,可以考虑相似度。。。很多修改的文件,复制后的修该文件。。。怎么定义相似度。。。

TOP

学习下:
如何判断一个带空格的字符串是否作为变量已定义:
这个方法蛮实用的(不启用变量延迟)
  1. for /f "delims=" %%a in ("%~1")do if defined %%a echo 已定义。。。
复制代码
  1. set "abc"de  666=0"
  2. for /f "delims=" %%a in (^"abc"de 666")do if defined %%a echo 已定义
复制代码

TOP

19# Bearxy


粘贴下面代码在桌面左下角的 开始的 运行框里,然后回车:
  1. cmd /kfor/?
复制代码

TOP

21# zm900612


%%~szta 文件路径和文件名的短名形式+体积+修改时间

文件路径本身就唯一了,你还判断defined,不是永远不会再“defined”了么?

抛开楼主的问题;我觉得实用的应该是体积同,文件名不同的重复文件在生活中较多;————很多复制的文件。

TOP

用 %~tza能判断99%以上的复制文件:

TOP

想了下,实用的这个不是批处理做的,又是娱乐。。

TOP

返回列表