批量文件中找出每个文件名相同且序号最大的文件

迷之程序员 2018-04-10 03:30:40
是这样的,有几个文件夹,每一个之中有这样一大批压缩文件,
每个文件都遵循一样的命名规则:name_123.zip
现在要做的就是选中一个文件夹,选出相同name文件中序号最大的文件。
其实就是选出这些文件中每一个的最新版本,做一个全部文件最新版本的集合。
然后删除其余的文件。
关键就是需要对文件名进行操作,选出么一个相同名字中排序号最大的


我的想法是用C+、批处理或是MFC都可以,但具体怎么实现还不知道
现在只是用批处理提取了全部文件的文件名
2018/04/09 09:38 57,647 TapCffexQtGw_SP13_121.zip
2018/04/09 09:38 57,374 TapCffexQtGw_SP13_293.zip
2018/04/09 09:38 57,481 TapCffexQtGw_SP13_485.zip
2018/04/09 09:38 57,522 TapCffexQtGw_SP13_500.zip
2018/04/09 09:38 56,064 TapCffexQtGw_SP13_618.zip
2018/04/09 09:38 185,584 TapDceQtGw_SP13_122.zip
2018/04/09 09:38 185,674 TapDceQtGw_SP13_288.zip
2018/04/09 09:38 185,727 TapDceQtGw_SP13_361.zip
2018/04/09 09:38 185,743 TapDceQtGw_SP13_492.zip
2018/04/09 09:38 185,415 TapDceQtGw_SP13_620.zip
2018/04/09 09:38 55,612 TapIneQtGw_SP13_416.zip
2018/04/09 09:38 55,431 TapIneQtGw_SP13_501.zip
2018/04/09 09:38 54,480 TapIneQtGw_SP13_631.zip
2018/04/09 09:38 54,507 TapIneQtGw_SP13_636.zip
2018/04/09 09:38 84,456 TapMiniQtFront_SP13_248.zip
2018/04/09 09:38 84,937 TapMiniQtFront_SP13_401.zip
2018/04/09 09:38 84,916 TapMiniQtFront_SP13_624.zip
2018/04/09 09:38 84,699 TapMiniQtFront_SP13_729.zip
2018/04/09 09:38 84,415 TapMiniQtFront_SP13_76.zip
2018/04/09 09:38 4,464,424 TapQuoteApi_55.zip
2018/04/09 09:38 4,471,159 TapQuoteApi_56.zip
2018/04/09 09:38 57,855 TapShfeQtGw_SP13_123.zip
2018/04/09 09:38 57,903 TapShfeQtGw_SP13_290.zip
2018/04/09 09:38 57,905 TapShfeQtGw_SP13_294.zip
2018/04/09 09:38 57,993 TapShfeQtGw_SP13_484.zip
2018/04/09 09:38 58,030 TapShfeQtGw_SP13_502.zip
2018/04/09 09:38 56,817 TapShfeQtGw_SP13_619.zip
...全文
1258 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
迷之程序员 2018-04-16
  • 打赏
  • 举报
回复
进展:已经完成啦,通过一天的不懈努力,最终完成了。毕竟是在C#winform 开发的一个工具,所以基本上还是靠自己慢慢写出来的。将文件名提取之后分解成名字和序号,对名字循环,当找到不同名的时候对这一组的序号提取最大值,然后拼接名字和序号完成下载。具体的我发了个文章记录了下来 https://blog.csdn.net/baidu_39486224/article/details/79961024总之谢谢大家
迷之程序员 2018-04-14
  • 打赏
  • 举报
回复
进展:前两天在忙别的事情,现在这个功能要在C# winform里面做了。今天我又做了一些工作:我将所有文件名给了一个string[] AllFiles,然后 现在需要对这个数组进行组合,找出每一种的版本号最大的提取出来。大家写的思路我也在看,我也在思考,有新的建议也请提出来
赵4老师 2018-04-11
  • 打赏
  • 举报
回复
system("dir /b /a-d c:\\*.* >d:\\allfiles.txt"); //读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字 system("dir /b /a-d /s c:\\*.* >d:\\allfilesinsub.txt"); //读文件d:\\allfilesinsub.txt的内容即C:\\下所有文件的名字包含子目录 system("dir /b /ad c:\\*.* >d:\\alldirs.txt"); //读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字 请记住,能用shell命令获取文件、文件夹信息或者操作文件、文件夹最好用shell命令获取或者操作,而不要用各种API获取或者操作,因为当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。 如果嫌system黑窗口一闪,将system("...")替换为WinExec("cmd /c ...",SW_HIDE); 使用以上思路,将处理文件列表的问题转换为处理文本文件问题。
yiyefangzhou24 2018-04-11
  • 打赏
  • 举报
回复
批处理就能实现了,整个程序,忽略开发周期??
  • 打赏
  • 举报
回复
用 Wps表格或者Excel 做, 1、dir /b > a.csv 2、WPS打开a.csv,分列,用下划线分。 3、对感兴趣列排序 4、拖出脚本 del 文件名 5、新建一个 b.bat文件,复制拖出的脚本 6、运行,OK 可以看看这篇文章 https://blog.csdn.net/goldenhawking/article/details/73095549
  • 打赏
  • 举报
回复
引用 13 楼 baidu_39486224 的回复:
[quote=引用 11 楼 DelphiGuy 的回复:] 批处理就几行的事情还写程序 保存以下文本到一个.bat(name改成你需要的文件名,或者作为命令行参数%1、%2之类的输入): @echo off set MAX_NUM=0 for /f "tokens=2 delims=_." %%i in ('dir /b /-p name_*.zip') do if /I "%MAX_NUM%" lss "%%i" set /a MAX_NUM=%%i 2>nul echo name_%MAX_NUM%.zip set MAX_NUM=
我需要自动提取每种文件名称啊..[/quote] 那只需要把'dir /b /-p name_*.zip'这里的name_*.zip换成%1,然后在命令参数里输入文件名(假设批处理文件名为test):test xxxx_*.zip
赵4老师 2018-04-11
  • 打赏
  • 举报
回复
C:\>set /? 显示、设置或删除 cmd.exe 环境变量。 SET [variable=[string]] variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET。 如果命令扩展被启用,SET 会如下改变: 可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配 SET 命令已使用的名称的所有变量的值。例如: SET P 会显示所有以字母 P 打头的变量 如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 设置成 1。 SET 命令不允许变量名含有等号。 在 SET 命令中添加了两个新命令行开关: SET /A expression SET /P variable=[promptString] /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式 评估器很简单并以递减的优先权顺序支持下列操作: () - 分组 ! ~ - - 一元运算符 * / % - 算数运算符 + - - 算数运算符 << >> - 逻辑移位 & - 按位“与” ^ - 按位“异” | - 按位“或” = *= /= %= += -= - 赋值 &= ^= |= <<= >>= , - 表达式分隔符 如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用 引号扩起来。在表达式中的任何非数字字符串键作为环境变量 名称,这些环境变量名称的值已在使用前转换成数字。如果指定 了一个环境变量名称,但未在当前环境中定义,那么值将被定为 零。这使您可以使用环境变量值做计算而不用键入那些 % 符号 来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的, 那么它显示该表达式的最后值。该分配的操作符在分配的操作符 左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制 有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022 相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字, 因为 8 和 9 不是有效的八进制位数。 /P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入 行之前,显示指定的 promptString。promptString 可以是空的。 环境变量替换已如下增强: %PATH:str1=str2% 会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。 要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。 "str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的 开始到 str1 剩余部分第一次出现的地方,都一直保持相配。 也可以为扩展名指定子字符串。 %PATH:~10,5% 会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏 移量 10)字符开始的五个字符。如果没有指定长度,则采用默认 值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数, 使用的数字则是环境变量数值长度加上指定的偏移量或长度。 %PATH:~-10% 会提取 PATH 变量的最后十个字符。 %PATH:~0,-2% 会提取 PATH 变量的所有字符,除了最后两个。 终于添加了延迟环境变量扩充的支持。该支持总是按默认值被 停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。 请参阅 CMD /? 考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境 变量扩充是很有用的,而不是执行的时候。以下例子说明直接 变量扩充的问题: set VAR=before if "%VAR%" == "before" ( set VAR=after if "%VAR%" == "after" @echo If you see this, it worked ) 不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中 的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个 复合语句。所以,复合语句中的 IF 实际上是在比较 "before" 和 "after",这两者永远不会相等。同样,以下这个例子也不会达到 预期效果: set LIST= for %i in (*) do set LIST=%LIST% %i echo %LIST% 原因是,它不会在目前的目录中建立一个文件列表,而只是将 LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在 FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量 是空的。因此,我们真正执行的 FOR 循环是: for %i in (*) do set LIST= %i 这个循环继续将 LIST 设成找到的最后一个文件。 延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行 时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面 例子写成以下所示,以达到预期效果: set VAR=before if "%VAR%" == "before" ( set VAR=after if "!VAR!" == "after" @echo If you see this, it worked ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% 如果命令扩展被启用,有几个动态环境变量可以被扩展,但 不会出现在 SET 显示的变量列表中。每次变量数值被扩展时, 这些变量数值都会被动态计算。如果用户用这些名称中任何 一个定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。 %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 %TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。 %RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。 %ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。 %CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。 %CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。 C:\>for /? 对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 如果命令扩展被启用,下列额外的 FOR 命令格式会受到 支持: FOR /D %variable IN (set) DO command [command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件 名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。 FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] 或者,如果有 usebackq 选项: FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] filenameset 为一个或多个文件名。继续到 filenameset 中的 下一个文件之前,每份文件都已被打开、读取并经过处理。 处理包括读取文件,将其分成一行行的文字,然后将每行 解析成零或更多的符号。然后用已找到的符号字符串变量值 调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开 的第一个空白符号。跳过空白行。您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的 默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号, 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 filenameset 中使用双引号扩起文件名称。 某些范例可能有助: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或 空格定界符号。请注意,这个 for 程序体的语句引用 %i 来 取得第二个符号,引用 %j 来取得第三个符号,引用 %k 来取得第三个符号后的所有剩余符号。对于带有空格的文件 名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。 %i 专门在 for 语句中得到说明,%j 和 %k 是通过 tokens= 选项专门得到说明的。您可以通过 tokens= 一行 指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或 'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且, 同时不能有 52 个以上都在使用中。 您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是, 用单引号将括号之间的 filenameset 括起来。这样,该字符 串会被当作一个文件中的一个单一输入行。 最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 会枚举当前环境中的环境变量名称。 另外,FOR 变量参照的替换已被增强。您现在可以使用下列 选项语法: ~I - 删除任何引号("),扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将 %I 扩展到一个驱动器号 %~pI - 仅将 %I 扩展到一个路径 %~nI - 仅将 %I 扩展到一个文件名 %~xI - 仅将 %I 扩展到一个文件扩展名 %~sI - 扩展的路径只含有短名 %~aI - 将 %I 扩展到文件的文件属性 %~tI - 将 %I 扩展到文件的日期/时间 %~zI - 将 %I 扩展到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩展到 空字符串 可以组合修饰符来得到多重结果: %~dpI - 仅将 %I 扩展到一个驱动器号和路径 %~nxI - 仅将 %I 扩展到一个文件名和扩展名 %~fsI - 仅将 %I 扩展到一个带有短名的完整路径名 %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展 到找到的第一个驱动器号和路径。 %~ftzaI - 将 %I 扩展到类似输出线路的 DIR 在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法 用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名 比较易读,而且避免与不分大小写的组合键混淆。
迷之程序员 2018-04-11
  • 打赏
  • 举报
回复
小弟菜鸟,具体的代码实现还是不会..
迷之程序员 2018-04-11
  • 打赏
  • 举报
回复
引用 11 楼 DelphiGuy 的回复:
批处理就几行的事情还写程序 保存以下文本到一个.bat(name改成你需要的文件名,或者作为命令行参数%1、%2之类的输入): @echo off set MAX_NUM=0 for /f "tokens=2 delims=_." %%i in ('dir /b /-p name_*.zip') do if /I "%MAX_NUM%" lss "%%i" set /a MAX_NUM=%%i 2>nul echo name_%MAX_NUM%.zip set MAX_NUM=
我需要自动提取每种文件名称啊..
迷之程序员 2018-04-11
  • 打赏
  • 举报
回复
引用 8 楼 yiyefangzhou24 的回复:
批处理就能实现了,整个程序,忽略开发周期??
我也想到了用批处理,怎么弄?我现在只会把文件名排个序
  • 打赏
  • 举报
回复
批处理就几行的事情还写程序 保存以下文本到一个.bat(name改成你需要的文件名,或者作为命令行参数%1、%2之类的输入): @echo off set MAX_NUM=0 for /f "tokens=2 delims=_." %%i in ('dir /b /-p name_*.zip') do if /I "%MAX_NUM%" lss "%%i" set /a MAX_NUM=%%i 2>nul echo name_%MAX_NUM%.zip set MAX_NUM=
AlbertS 2018-04-11
  • 打赏
  • 举报
回复
比如先找到 TapCffexQtGw_SP13_121.zip就认为他是最大的,提取出最后的数字, 然后遍历剩下的文件,名字相同,如果数字有更大的就文件就删除当前的,否则删除新的,如果名字不同就把不同名字的文件作为新文件数字数字的最大的,继续遍历 这样假设一共有N种文件,则只需要遍历一次,但是需要花费O(N)的空间
自信男孩 2018-04-10
  • 打赏
  • 举报
回复
引用 5 楼 baidu_39486224 的回复:
[quote=引用 3 楼 cfjtaishan 的回复:] 按照文件名排序,或者通过遍历文件名列表得到字符串最大的。 "123"小于"132", 可以使用strcmp比较。
不是全部之中最大的,而是“每一种”找出最大的[/quote] 那可以分别找出有几类文件,比如通过比较_前的字符串,可以确定有多少类文件。然后再通过两次比较,第一次比较是找到所属的类(strncmp),第二次比较是比较该类的文件中最大的。
wallesyoyo 2018-04-10
  • 打赏
  • 举报
回复
这个是Python实现的代码。


import sys, os, shutil

if (len(sys.argv) != 3):
    print ("USAGE:\n\t%s + <in dir> + <out dir>\n" % sys.argv[0])
    exit(-1)

indir = sys.argv[1]
outdir = sys.argv[2]

if not os.path.exists(indir):
    print ("ERROR: %s No such directory!\n" % indir)
    exit(-1)

if not os.path.exists(outdir):
    os.mkdir(outdir)

d = {}

for fn in os.listdir(indir):
    name, ext = os.path.splitext(fn)
    if ext == ".zip":
        ns = name.split("_")
        name = ns[0]
        for n in ns[1:-1]:
            name += "_%s" % n
        num = int(ns[-1])
        
        if name in d:
            if d[name] < num:
                d[name] = num
        else:
            d[name] = num

for k,v in d.items():
    fn = k + "_" + str(v) + ".zip"
    sp = os.path.join(indir, fn)
    dp = os.path.join(outdir, fn)
    shutil.copyfile(sp, dp)
    print (dp)
    
运行的话,安装python3,在命令行上敲下面的命令就行。

python tt.py <indir> <outdir>
tt.py 是python代码文件名,indir是输入的目录,outdir是输出目录,程序就是把indir中符合条件的文件拷贝到outdir中。 像这种文件处理的操作,用python做起来真的特别简单,代码也是通俗易懂,你可以尝试学习一下。
迷之程序员 2018-04-10
  • 打赏
  • 举报
回复
引用 3 楼 cfjtaishan 的回复:
按照文件名排序,或者通过遍历文件名列表得到字符串最大的。 "123"小于"132", 可以使用strcmp比较。
不是全部之中最大的,而是“每一种”找出最大的
迷之程序员 2018-04-10
  • 打赏
  • 举报
回复
引用 2 楼 wanggui2015 的回复:
这种需求用脚本语言做不是分分钟就搞定了,Python了解一下。
这...刚弄懂一些批处理,脚本从没接触过...
自信男孩 2018-04-10
  • 打赏
  • 举报
回复
按照文件名排序,或者通过遍历文件名列表得到字符串最大的。 "123"小于"132", 可以使用strcmp比较。
wallesyoyo 2018-04-10
  • 打赏
  • 举报
回复
这种需求用脚本语言做不是分分钟就搞定了,Python了解一下。
paschen 版主 2018-04-10
  • 打赏
  • 举报
回复
软件名称:优影文件整理 1。5版 软件功能简介: 本软件主要用于大量音乐或是电影类文件批量整理,同时也可用于电脑内的重复文件清除。 图片文件添加水印,电子书(TXT格式)添加水印,音乐文件(MP3格式)添加水印等。 为文件号进行加编号操作,可自定义编号起始数值,可将文件编号导入到优影手机下载系统作为优影序号使用。 详细说明 一、快分到文件夹 说明:下载店经常会收售大量的音乐文件和MTV文件,通常音乐文件都是按歌手分文件夹,每一位歌手一个文件夹,这样的整理一目了然,是一种良好的整理习惯,然而歌手有上千位,就需要上千上文件夹,如果一个一个手工方式来划分将是一缓慢的过程。此程序可以方便的自动将某位歌手歌曲分类到相应的文件夹下,全自动进行,比手工操作的速度快上百倍。 操作前准备:新歌在专业网站下载得到,文件通常都带有歌手名。例如:“梅艳芳-女人花.mp3”、“你对我的好-孙楠.mp3”只有这样的歌曲才能被整理到,先手工建立了“梅艳芳”、“孙楠”文件夹,按下面步骤即可操作。为了提高速度歌手文件夹与新增的音乐放在同一个磁盘分区。 操作步骤 步骤一 指定歌手文件夹的目录(所有歌手文件夹都请放在同一个文件夹下,这样才方便操作,如果那位歌手没有文件夹需要手工添加,建立该歌手名的文件夹。) 步骤二 指定新歌存放目录 步骤三 点击[开始整理]按钮。即开始自动完成。 二、相似文件去重 说明: 重复文件是大量数据收集一个常见问题。 重复文件有两种: 一是文件完全重复,数据指纹完全一样,可能文件不一同。这种文件很好处理,优影下载系统,在数据采集时会自动整理出来,并提示删除。 二是文件相同或相似文件数据指纹不同,这样的文件处理就很复杂,本程序就是来处理这种文件的。 小知识:什么是数据指纹?数据指纹就是一个文件内容的特征,理论上是没有重复的,出现重复就只有一种可能,就是文件复制前、后的两个文件,数据指纹会相同。数据指纹与文件没有关系。 操作前准备: 无需要准备 操作步骤: 数据扫描 在主窗口点击“一、扫描”钮,对文件进行扫描 几个与扫描相关的选项 1、一次最好只处理一个文件格式,如果没有的格式可以自行添加,如果为空就会处理所有文件格式(不推荐) 2、可以开启数据指纹识别,直接删除重复文件(这个功能优影手机下载系统也有,是一样的) 3、可以开启自动建立文件夹选项,当一位歌手音乐超过了多少首就自动建立文件。 扫描完成后几个操作 1、重复文件删除(数据指纹相同):内容重复文件会显示表格,在表格点右键会弹出[删除菜单],可以批量删除或一个一个文件删除重复的文件。 2、高频字屏蔽:高频字通常可以认为是歌手名(周杰伦、刘德华等)也可能是音乐类型名称(钢琴、二胡、轻音乐等),这些字屏蔽后会加快后面手工删除的速度。自动勾选屏蔽关键字不太准确,请手工一个个指定比较适合,因为有些歌名也会多次出现,这些不要屏蔽,要清除的就是这些文件。 扫描完成后就可以进行文件相似文件删除操作 相似文件删除:有手动模式和自动模式,手动模式极为可靠但是速度慢,自动模式速度快但是可靠性差,两种方式配合使用。对于原始的数据,先用手动模式进行删除。新增文件内容用自动模式进行删除,是一种极为合理的方式。 1、手动模式删除:主要使用快捷键操作 快捷键表:在删除操作使用快捷键可以很方便的进行快速度操作 开始分析 = 回车键 选择文件 = 数字键 反向选择文件 = 减号键“-” 上一个分析 = PageUp键 下一个分析 = 回车键 或 PageDown键 播放 = 加号键“+” 或 “P键” 删除 = del键 加入高频字=F11或 F12键 自定义高频字=F9或 Insert键 2、自动删除模式注意事项:自动删除极为快速,因为是自动的会有很多误删除的文件,不是很可靠,为了运行可靠,需要设置后再运行。 (1)一定要设置保护目录,在保护目录文件不会被删除。在实际应用可以对原有数据先进行手动模式删除,然后对这个文件夹设置为保护目录,所有新歌放在置在另一个目录,这样在自动删除时会只删除新歌文件,而不会删除原有数据。 (2)选备份删除文件,这些文件是本软件自动删除的文件,有可能会删除一些不该删除的文件,这里查看后,再真正删除比较保险。 三、txt文件批量添加水印 说明:用于批量添加 电子书 txt 格式的水印 以及去除水印 操作前准备:无需准备 操作步骤:设置好要添加的内容,可以是TXT首部和尾部分别添加,添加的内容自定义,同时进行了去除操作,一键完成。 四、图片文件批量添加水印 说明:用于批量添加 图片 bmp gif jpg tjff png 格式的水印,对GIF动画文件添加水印后动画会丢失,对于PNG文件透明层也有可能会丢失。加水印后图片尺寸不会改变。 操作前准备:无需准备 操作步骤:设置好要添加的字符,可以选择图片上要加字符的位置 ,一键完成。 五、批量修改 音乐 mp3 格式的ID3v1v2信息 说明:用于批量修改 音乐 mp3 格式的ID3v1v2信息 操作前准备:如果音乐文件已经在 优影下载系统 已经采集并且打印了歌本,那么请不修改ID3v1v2信息,这样会造成同一个文件出再两个序号,而且打印的歌本有可能作费。 操作步骤:设置好要内容,一键完成。 六、文件加编号 以及 将文件编号导入到优影作为序号使用 说明: 对文件进行编号,编号可放置在文件的前部或后部,自定义编号起始号;将已编号的文件导入到优影下载系统作为序号(优影下载系统默认只可以用序号进行搜索,而优影序号是自动生成,无法人工设置起始号),实现人工设置起始序号。 (1)文件文件夹加编号(文件夹编号是新功能) 操作前准备:要编号的文件最好放在同一层目录,如果文件有原编号,最好先去掉;不必要字符也可以分多次在文件删除; 选择文件格式: 本软件支持所有文件格式,下拉列表没有的格式可以自定义,为空就是会为所有文件分配编号(不推荐,一次最好只操作一种文件格式) 编号前辍及间隔符:例如 :前辍是 “A”,生成编号是“1234” , 文件“千里之外.MP3”生编号后文件就是“A1234千里之外.MP3”。如果间隔符为“-” 生编号后文件就是“A1234-千里之外.MP3” 字符清除及替换:输入要清除的字符,可是一个字,也可以是一个词,如果“替换已清除字符”框没有内容,那么就是清除了。例如:“要清除字符”框写入“A”,会将“AA千里之外.MP3”文件改成“A千里之外.MP3”。要去掉第二个A需要再扫描一次,多个字符如此类推;如果“替换已清除字符”框输入“B”就会将文件改成“BB千里之外.MP3”。 编号前后:可以设置成“1234-千里之外.MP3”或是““千里之外-1234.MP3”样式;在进行字符清除替换时,最好选择“不进行编号”。 去除原有编号:设定去除前编号或是后编辑,如果前后都有则需要分两次去除。如果有编号的前辍的,要先用“字符清除”清除了前辍,再清除前或后编号。 操作步骤:所有设定可以组合设置,也可以一次设置一项,点击“文件扫描编号”键,一键完成。 (2)将编号导入到优影下载系统,成为优影的序号 为了说明方便,我们将文件上的号称为编号,称优影下载系统的号为序号 操作前准备:所有文件都已有编号,而且编号不能重复,编号不能加前辍,如果有前辍请先去除。 说明:因为优影下载系统不充许出现重复序号,所以有重复的编号文件,只会导入一个文件到优影。进行导入时原优影数据库内所有文件信息会被删除,优影原来序号会失效,如果用优影采集了大量文件而且已经打印成歌本,请不进行导入操作。 操作步骤: 步骤一、点击“文件扫描入本地数据库”钮,将所有文件先扫描一次,文件信息会存放在本软件数据库,如果文件在多个盘符上,可分多次扫描。根据编号情况,选择取前或是取后编号,也可用自动方式。 步骤二、点击“导入到优影库”钮,这时会要求指定优影下载系统的数据库,优影数据库默认在 优影软件的安装目录下的 udata 文件的 udata.db文件是优影的数据库文件。一键完成。 (3)电影,连续剧零散文件自动建立文件夹 很多下载店用户电影用连续都在一个文件夹下,这样文件整理方式极为不方便,为了便于在优影下载系统下载和计费,需要每一部电影和连续剧建立一个文件夹,方便下载。 七、文件打印目录生成(增加图片打印册生成 和 电影连续剧的彩页生成) 所有操作都要指定相应文件夹,文件夹下层多层文件夹软件会自动处理,生成的htm文件在本软件的安装目录,可以在IE浏览器直接打印,在打印前先通过文件打印预览查看文件,如果有示显示部分就需要调整页边距后所有内容就会正常显示及打印。 要注意事项: 1、如果有文件编号要求,当然先用文件编号工具生成编号后再打印。编号提取有选项,请注意查看。 2、文件编号提取有多个选项,可以尝试,这里不会修改文件,只是管理打印出来的样式。例如“千里之外-1234.mp3”提取编号会在打印时显示为 “1234-千里之外-1234.mp3”或是“1234-千里之外.mp3” 。这都是看个人喜好。 3、电影带图片打印要符合以下方法,才能自动取出来电影图片和内容提要:每一部电影要有一个单独的文件夹,文件夹名称就是电影名称,这个文件除了放置电影主文件(3gp,mp4,avi等格式文件),还需要放置一张这部电影海报图片(可以是jpg,bmp,gif格式)和内容提要文件(是txt格式),符合这样的情况就能生成出来漂亮的电影本。 4、如果选择了“图片高度自适应”那么打印出来图片就不会变形。 5、关于“网络获取电影的图片和内容” 这是付费注册用户功能,要求第一部电影一个文件夹,然后本程序会自动在优影服务器寻找电影的海报图片和内容提要文件,并且自动下载到这部电影的文件。有些电影可能会找不到,就需要手工添加,电影的海报图片(jpg,bmp,gif格式)和内容提要文件(txt文件)到本电影的文件。为了提高成功率电影文件夹名称一定要规范,除了电影名字外不要有其它的字,这样有利获取的成功率。 常用页面设置: 默认A4纸张 上、下、左、右页边距都是19。5,如果边距有变化,要相调高度和宽度 一页10部电影 两列 高度194 宽322 一页5部电影 一列 高度194 宽650 一页3部电影 一列 高度323 宽650 因为所有参数可调,本软件适应任意大小纸张,生成好了,在打印预览看到满意了再打印。 八、注册说明 本软件用注册码方式注册,注册时要联网才能注册成功,一个注册码在注册后就会与本机的硬件绑定 (同时绑定 cpu 主板 网卡),在其它电脑上此注册码会无效。每个注册码都有一次换硬件的机会,也就是说注册后更换了cpu 主板 网卡,还可以注册一次。同一台电脑没有换硬件,多次注册也只算一次。重装系统,换硬盘等,对注册码都没有影响。 注册码购买联系: 官方主页 http://www.dh36.com 手机 13085201168 QQ:274452956 张伟斌
-------------------------------- DotNetTextBox V6.0.x 商业版更新历史 -------------------------------- 2016/10/10 Version 6.0.10 For VS2015 特别声明:由于联系不上原作者,此版本为自已在修复老项目时,顺带修复了该组件的部份错误. 为了方便维护老项目的网友们,故此发布修正的版本(更新版本号的目的仅为方便标识不同版本).此源码仅供自行学习研究使用,本人不承担由此产生的任何法律后果 请原作者与我联系,以方便我将此源代码交回其合并至统一的代码源,必免版本混乱. 如原作者认为侵权,则请提醒我及时删除我上传的源码(其它网友自行上传的与我无关) csdn.com发布地址:http://download.csdn.net/detail/egman/9630141 github发布地址:https://github.com/egman77/DotNetTextBox (保持最新) 我的联系邮箱;egman@163.com Updates: 1)修正当插入Word文件,如果内容为空,没有任何提示且上传菜单(但选定的文件已消失)仍然存在的问题。 更改为: 当文件内容为空时,服务端给出"文件内容为空"的提示,并关闭上传菜单。 2)修正当插入Word文件,未选定文件而直接点击导入编辑时,没有任何提示且上传菜单仍然存在的问题。 更改为: 当未选择上传文件时,浏览器端给出"未选择任何文件"的提示,并保留上传菜单。 (服务器端保留仍提示"未选择任何文件"的功能,但正常情况下,不会显示此提示。) 2016/9/14 Version 6.0.9 For VS2015 特别声明:由于联系不上原作者,此版本为自已在修复老项目时,顺带修复了该组件的部份错误. 为了方便维护老项目的网友们,故此发布修正的版本(更新版本号的目的仅为方便标识不同版本).此源码仅供自行学习研究使用,本人不承担由此产生的任何法律后果 请原作者与我联系,以方便我将此源代码交回其合并至统一的代码源,必免版本混乱. 如原作者认为侵权,则请提醒我及时删除我上传的源码(在www.csdn.net发布)(其它网友自行上传的与我无关) csdn.com发布地址:http://download.csdn.net/detail/egman/9630141 github发布地址:https://github.com/egman77/DotNetTextBox (保持最新) 我的联系邮箱;egman@163.com Updates: 1)修正在VS2010以上时,无法正确显示控件的问题。 2)修正设置With属性 值后缀为%时,运行出错问题。 3)修改默认Framework从V2.0提升到V3.5 4)修改默认支持AJAX (原来ie11以上运行时,会导致页面失去响应) 5)源代码解决方案简化,支持vs2013以上版本打开,项目默认支持ajax 2009/06/23 Version 6.0.8 For VS2005/2008 Updates: 1)去掉现在基本没法使用的插入EXCEL表格功能,改为无组件的导入EXCEL文档功能(测试,导入excel文档必须符合数据库格式,否则导入数据将不全)。 2)更新编辑器的部分文字资源。 3)修正4号与5号字体大小一样的BUG! 2009/06/15 Version 6.0.7 For VS2005/2008 Updates: 1)修正word导入功能如果选择了保存word文档到服务器,那么下次相同文件将不能再次导入的BUG! 2009/06/02 Version 6.0.6 For VS2005/2008 Updates: 1)修正了6.0.5版本增加功能后出现上传后出错的严重BUG。 2009/05/23 Version 6.0.5 For VS2005/2008 Updates: 1)修正了上传远程图片文件时可能出现404的错误。 2)修正插入部分远程URL图片时可能出现无法显示的错误。 3)修正FireFox浏览器下弹出窗口自适应大小功能不正常的BUG。 4)改进了多文件上传后自动选择添加到上传列表的文件。 5)改进了如找不到对应语言文件则使用默认语言的功能。 2009/05/15 Version 6.0.4 For VS2005/2008 Updates: 1)修正IE8非兼容模式下的部分功能及页面不可用的BUG! 2)修改MSN在线状态检测地址为官方地址. 3)修改ICQ在线状态检测地址为官方地址. 2009/05/11 Version 6.0.3 For VS2005/2008 Updates: 1)修正了IE5.5和IE6.0浏览器下上传弹出窗口显示不完全的BUG! 2)修正打开上传窗口时会弹出参数无效的BUG! 3)增加了在IE8浏览器下控件显示不正确的解决办法(更新到faq.htm页面)! 2009/03/23 Version 6.0.2 For VS2005/2008 Updates: 1)修正多文件上传的严重BUG! 2)优化了多文件上传的性能! 3)优化了多文件上传时的一些细节! 2009/02/14 Version 6.0.1 For VS2005/2008 Updates: 1)修正使用vs2008项目文件打开默认项目时出现不能通过编译的BUG! 2)修正AjaxSupport目录下部分源文件未与最新版本同步更新! 3)修正插入特殊字符有三个特殊字符插入后变为?号的BUG! 4)修正插入Flash的时候无法使用绝对全路径的BUG! 5)修正自动保存的图片没法加入水印的问题。 6)修正自动保存图片功能开启后,内容带有视频内容提交会出错的BUG。 7)修正自动保存图片功能会对本地域名的图片也会重新保存一次的BUG。 8)修正获取远程页面功能在获取部分页面时乱码的BUG! 9)增加批量上传文件的功能,同时优化了所有模块的上传文件功能。 10)所有弹出的模态窗口现在可根据内容自动调整高度及宽度,杜绝旧版本在一些浏览器下显示窗口内容不完全的BUG。 11)导入Word功能升级到V2.0,修正导入后有些样式导入不完全的问题,同时优化了导入word文档时的性能! 12)更新了控件的部分语言资源文件。 13)更新控件可视化配置工具至1.0.3。 2008/10/27 Version 5.0.9 For VS2005/2008 Updates: 1)修正重命名功能文件结尾带.造成的出错问题! 2)修正字号大小显示外观1号最小,7号最大的BUG! 3)修正firefox下与jquery不兼容问题! 4)修正firefox下脚本的一些问题! 5)修正firefox3.0以上版本浏览控件界面显示不正确的问题! 2008/10/23 Version 5.0.8 For VS2005/2008 Updates: 1)增加了上传功能重命名文件的安全字符过滤! 2)修正上传功能存在的一个安全问题!(重要更新)! 3)修正GIF图像添加文字水印无法自定义大小的BUG! 4)修正GIf图像生成缩略图质量较低的BUG! 2008/10/20 Version 5.0.7 For VS2005/2008 Updates: 1)修正每次新建文件夹默认目录名相同导致的问题,现在新建文件夹的默认目录名以newFolder年-月-日-时分秒来命名,杜绝重名的情况出现。 2)修正文件重命名功能如果文件是1.jpg.jpg这样形式的话,重命名的时候只会出现1而不是1.jpg的BUG! 3)修正选择字号大小功能出现掉失HTML格式的BUG。 4)修正不能对单帧GIF图片添加水印的问题,但GIF动画暂时还不支持添加水印! 5)重写及优化了控件html代码转xhtml代码的JS方法,现在即时转换XHTML的性能更佳,也修正了原来开启xhtml转换会破坏代码的BUG!(此功能测试稳定后会改为默认功能,即控件默认状态下输出的就是符合XHTML标准的代码,现在暂时请用xhtml属性来开启转换) 2008/6/23 Version 5.0.6 For VS2005/2008 Updates: 1)修正控件Length属性统计的字符数包含HTML字符的BUG,现在Length属性仅统计纯文本的字符数! 2)修正开启自动保存图片到本地的功能后网络图片过多的时候出现保存图片地址重复的BUG! 3)修正控件段落格式及选择字体的下拉列表功能会使页面其它Select选择框消失的BUG! 4)修正去掉下拉列表功能后,控件无法正常使用的BUG! 5)修正商业版采用Asp.Net Ajax支持方式编译后出现的一些BUG! 6)修正FIREFOX2.0下控件下拉列表框出现位置不正确的BUG! 7)增加强大的代码格式清理功能!菜单功能配置值为:formatstripper! 8)增加getImagesPathID属性,当属性不为空时,将在插入图片到编辑器的同时将图片地址即时插入属性指定的页面ID! 9)增加自动及手动内容分页的强大功能,通过getAutoPage(自动分页)及getManualPage(手动分页)属性获取分页内容! 10)完善及修正了部分帮助文档及新增内容分页演示实例! 11)修正及更新控件可视化配置工具(版本号1.0.2),增加了新版本出现的新功能添加(代码清理及手动分页功能及修正生成上传配置文件的错误)! 2008/5/20 Version 5.0.5 For VS2005/2008 Updates: 1)修正去掉代码状态功能后出现其它状态切换图标显示不正确的BUG! 2)修正上传图片功能在修改图片的时候切换到水印控制会出现脚本错误的BUG! 3)修正上传媒体文件功能插入FLV时调整播放器高度及宽度失效的BUG! 4)修正控件自带的FLV播放器播放某些视频时画面尺寸不按比例的BUG! 5)修正上传媒体文件功能FLV不能正确显示文件图标的BUG! 6)增加AjaxSupport目录,使用此目录的文件覆盖原版同名文件后重新编译即可解决在Asp.Net Ajax UpdatePanel下工作不正常的BUG!(不需要使用asp.net ajax的用户无需覆盖此目录的文件) 7)增加asp.net ajax的演示例子(AjaxSupport/DotNetTextBoxWebSite/下) 8)FLV播放器增加全屏播放的功能! 9)优化了控件核心的部分代码! 2008/5/12 Version 5.0.4 For VS2005/2008 Updates: 1)修正XHTML1.0定义下的页面无法显示发光字的BUG! 2)修正在带有文目录的网站路径下使用控件会出现找不到路径的BUG! 3)修正控件上传目录初始设置不支持文目录的BUG! 4)修正当三级或以上级别目录调用控件时图片相对路径转换不正确的BUG! 5)增加提取编辑器内容FLASH及FLV播放地址的功能,与提取图片地址使用方法相同(getflvurl和getflashurl属性)! 6)优化了控件上传页面的部分JS脚本! 2008/4/28 Version 5.0.3 For VS2005/2008 Updates: 1)修正二级目录调用控件时自动保存保存远程图片功能出错的BUG! 2)修正进行某些操作之后Undo/Redo失效的BUG! 3)修正采用BR换行模式后出现列表项功能使用不正常的BUG! 4)修正DIV弹出窗口在浏览器底部无法自动向上调整的BUG! 5)修正上传文件、上传模板及上传媒体文件功能文件无法删除的BUG! 6)调整了控件弹出窗口的方式,部分功能的模式窗口转换为Div+CSS的窗口! 7)调整pathtype属性默认值为AbsoluteFull(绝对全路径)! 8)增加对VS2008的支持,使用VS2008的用户请使用DotNetTextBox2008.sln打开项目,VS2005的用户则使用DotNetTextBox2005.sln打开项目(VS2008下控件的设计时显示尚不完美,以后版本将会尽快完善)! 2008/3/25 Version 5.0.2 Updates: 1)修正扩展编辑框功能不能无限增加的BUG! 2)修正代码状态下空格不能自动换行的BUG! 3)修正IE浏览器下特殊格式的闪烁特效无效的BUG,现在IE浏览器下闪烁特效用发光字体特效代替! 4)修正二级以上目录调用控件时插入文件的路径转换无效的BUG 5)完善了水印控制的功能,文字水印支持更换字体及颜色! 6)优化了上传功能返回上层目录的速度! 7)增加强大的可视化菜单配置及上传配置的生成工具,方便用户自行生成控件的相关配置文件(测试)! 2008/3/02 Version 5.0.1 Updates: 1)修正代码状态下按回车换行过大的BUG! 2)改良了编辑器回车换行的方式,旧版本按回车后以段落换行(

)的方式现在已更改为
换行,好处是按回车换行后行与行的间距不会过大了(可用新增的NewLineMode属性设置为P恢复为段落换行)! 3)改良了代码状态下编辑框不会自动换行而导致不能方便查看代码的问题,现在代码状态下能自动换行! 4)新增GetImagesUrl属性,可以通过该属性获取控件提交内容里所有图片的URL地址(Webeditor1.GetImagesUrl[图片序号].ToString()),得到的图片地址将可用于首页新闻的图片显示或幻灯片显示。 2008/2/28 Version 5.0.0 Updates: 1)全新的可拖曳菜单工具栏,让每个使用者可视化构建自己的个性化在线编辑器! 2)更强大的Word文档导入编辑器功能,无需特殊的服务器权限或安装客户端组件,只要拥有最基本的ASP.NET读写文件权限即可实现导入Word文档,并且还支持最新的DOCX文档格式! 3)更细致的工具栏区域划分! 4)全新的可隐藏菜单工具栏配置! 5)更强大的的XHTML代码转换功能,支持即时的XHTML代码转换! 6)更多功能的细致化修正及改良! ------------------------------ http://www.aspxcn.com.cn

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧