比如A文件夹里面的文件排序有个B文件,它的文件名叫“姓名”,

VB编程:在一个文件夹A中找出1.txt或者1.xls中没有的文件名,并把文件复制到文件夹B中._百度知道
VB编程:在一个文件夹A中找出1.txt或者1.xls中没有的文件名,并把文件复制到文件夹B中.
比如1.xls中有a b c 三个文件名,而A文件夹中有 a b c d四个文件,则把1.xls中没有的d文件复制到B文件夹中.
我有更好的答案
回复一下,做个标记,有空再做
为您推荐:
其他类似问题
您可能关注的内容
vb编程的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求批处理脚本 文件夹内有很多文件,比如A.b B.b c.b 将文件夹内的所有文件名修改为 猪_百度知道
求批处理脚本 文件夹内有很多文件,比如A.b B.b c.b 将文件夹内的所有文件名修改为 猪
求批处理脚本文件夹内有很多文件,比如A.b
c.b将文件夹内的所有文件名修改为猪1-A.b
我有更好的答案
这个不需要批处理。只需要一个文件改名器就可以解决。前缀加序号。
采纳率:65%
来自团队:
得先建个Excel把要改的文件名改好,excel里可以直接拖也行排号等等,然后复制到批处理文件里即可,具体可以参考百度知道,里面写的很清晰。网址为:望采纳,本人还差2个采纳就升级了,谢谢了!
为您推荐:
其他类似问题
批处理的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于比较两个超大文件的差异,有什么好的思路 - ITeye问答
有两个文件A和B,分别保存了一个系统两天的数据快照。
a.txt
(格式为:号码,姓名,年龄,姓别,状态)
,小A,20,男,01
,小H,20,女,06
,小C,20,男,06
,小D,20,男,04
,小E,20,女,04
,小F,20,男,04
,小G,20,女,07
b.txt
(格式和a一样:号码,姓名,年龄,姓别,状态)
,小A,20,男,01
,小C,20,男,06
,小D,20,男,04
,小E,20,女,04
,小F,20,男,04
,小G,20,女,01
,小K,23,女,01
b文件比a多了一个“小K”,但是少了一个“小H”,另外“小G”的状态被改为“01”,两个文件的号码都是唯一标识。
我想达到的目的是
1、想快速的在B文件中找出对比A少的记录和多出来的记录。
2、找出B文件中状态被修改的记录
例子里面的数据量比较少,实际上a文件和b文件都在4-5千万的数量级别。
问题补充:强调这两个文件加起来的数据有上亿条,估计导入到数据库都要很长时间。
现在的限制最多在2个小时以内完成对比,并输出相关的结果。
问题补充:huzhenyu 写道其实这玩意并不是特定的方式去处理,首先你得确定你id是否就是按顺序排列的,如果无序的你会搞到死.如果有序其它很好办怎么玩怎么有,用BufferInputStrem读进来一个一个比都完全可以.
是无序排列的。如果有序的话,也没这么多问题了。
问题补充:mobilezht 写道cat file1 file2 | sort |uique -c |grep -v ^2
合并文件,排序,计数,将只出现一次的记录行 列出来
(排除一样的记录行)
相信操作系统自带的这些工具比你现写程序的效率要高很多。尤其是不需要反复调试
确认一下是
cat a.txt b.txt | sort | unique -c | grep -v ^2
我运行了一下,说unique是无效命令?
我的cat版本是5.93
我觉得 svn& 。。这个东西。。 他的比较模式。。你可以去参考一下。。。。
以下是针对有oracle环境的处理方式
1.用java程序把不必要的字段过滤掉,只保留主键,状态两个字段的数据,
& 同时把一个大的文件才分成10份。
&
& 这时候 a.txt,变成了 a1.txt,a2.txt,a3.txt..........a10.txt
&
2. 在oracle中建立一个a表
3. 新建4个控制文件平分了数据文件a1.txt,a2.txt,a3.txt..........a10.txt 的数据,
&& 在oracle& sqlldr 加入 errors=10000 direct=y& parallel=true 参数,启动并行导入模式
4. 用sql对比
#只在$1中有的行
awk '{if(ARGIND==1) {v[$0]}else{if($0 in v)
delete v[$0]}}END{for(i in v) print i}' $1 $2
#同时在$1和$2中的行
awk '{if(ARGIND==1) {v[$0]}else{if($0 in v) print $0}}' $1 $2
估算了一下,你一个文件上亿条记录,假如有2一条记录,文件大小应该在20G左右。根据个人经验,超过200万条不考虑使用Map,jvm使用heap就大概有300M,我们这里工作的同事一部分喜欢使用内存数据库,一部分牛人使用NIO自己设计存储排序方案。
给点提示:使用NIO,并行计算jrs166。
uniq 是计算重复的数量,合并重复的行
这么大的文件比较,想起来就头疼。能不能从业务的角度优化一下,把大文件拆小。
实在要比,有个比较偷懒的办法,就是用数据库。把数据插进数据库,SQL语句就可以处理了。上亿的文件如果都读进内存,再加上其他的业务数据,服务器容易宕机。
内存比较其实我想到个中性办法:把数据按照id逐条灌入memcached,借用memcached缓存的功能做逐条比较。
这种头疼的任务,最好能够避免。
内存放不下就分段作,按照ID 分发到成10个或者100个小文件中,然后对相同ID段的小文件在内存中先排序后比较。
相信我,我虽然没做过4-5千万,4-5百万的 比较做过N 多次。
cat file1 file2 | sort |uique -c |grep -v ^2
合并文件,排序,计数,将只出现一次的记录行 列出来
(排除一样的记录行)
相信操作系统自带的这些工具比你现写程序的效率要高很多。尤其是不需要反复调试
你要明白你不是比较文件差异而是比较记录集的差异
这两种场景处理方式完全不同
看你的数据格式 可以考虑用oracle的sql loader 先导入到临时表 然后进行比较
将两个文件读入缓存,用map分别存储为mapA和mapB,
迭代mapA,然后利用mapB.containsKey(mapA_key)判断即可。
如果mapB中有的,mapA中没有,貌似上述方法判断不出来。
2小时的时间足够了的,基本还是要看内存能用多少,如果可以,把a.txt读进去,以id为key,整个record string为value建立hashmap。然后读取b。txt,每读一行就去a。txt的hashmap看看id是否存在,然后根据情况比较久可以。
每个文件估计1.5g左右,就算安10M/s也只要150秒,其实跑起来半个小时应该就可以。算法的负责度估计是O(n*log(n)),不会慢的。
如果内存不够的话,就要对a.txt里的record做index处理,比较的时候使用index去定位文件来读取对应的record,不过也只是相当于把a。txt读两次,但需要内存可以减少1/2以上,具体要看每行record的长度。这样处理的话时间也不会超过一小时。
找个精通算法的人做吧
貌似现成的技术做不到.
可以自己百度上面找----比较文件差异工具
我帮忙找了几个:
http://www.oschina.net/p/diffuse/similar_projects
http://www.iplaysoft.com/winmerge.html
http://www.lupaworld.com/proj-cont-id-1190-bpage-2.html
上面三个没有你适合用的话,你就自己找找。。。
这么大的文件早就应该放到数据库里,让数据库管理,到不是不能写,但写成的,没问题几乎你是办不到的就好象为什么一个ORACLE做了这么多年才做成现在的样子
4 5千万就不该保存在两个单独的文件里...
现在这样首先肯定是要分别排序& 不然不可能有高效的方法
晕。是4-5千万,我还以为是4,5万,这个就没必要了吧。那么大的数据,就是你读文件就要读个把小时。
其实这玩意并不是特定的方式去处理,首先你得确定你id是否就是按顺序排列的,如果无序的你会搞到死.如果有序其它很好办怎么玩怎么有,用BufferInputStrem读进来一个一个比都完全可以.
如果是我的话会用数据库,把两个文件加到同一张表里,然后加一个额外字段区分天数,然后用sql轻松搞定。
兄弟没必要去写这种东西,用现成的工具.比如svn用它的差分就可以得出结果.还有一些其它的成熟文本比较工具,你查下就知道了.
将两个文件读入缓存,用map分别存储为mapA和mapB,
迭代mapA,然后利用mapB.containsKey(mapA_key)判断即可。
已解决问题
未解决问题豆丁微信公众号
君,已阅读到文档的结尾了呢~~
[最新]初级管帐电算化 (管帐测验 收费下载)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[最新]初级管帐电算化 (管帐测验 收费下载)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口xp系统中如何通过命令提示符查找到某个文件,比如d盘下的a文件夹下的b文件,说详细点,_百度知道
xp系统中如何通过命令提示符查找到某个文件,比如d盘下的a文件夹下的b文件,说详细点,
我有更好的答案
就是命令CD 加上路径,但是文件夹要一个一个进D:回车CD A回车B
如果B后面还有文件呢,如何进入?
采纳率:10%
你要找的D盘必须是FAT32格式的 另外附送给你个DOS命令:一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文 件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 6 move move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切+复制)到另 一个地方。 7 del del 文件名:删除一个文件。 del *.*:删除当前文件夹下所有文件。 del不能删除文件夹。 8 deltree 删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 9 format format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 化的,在windows2000安装的时候会问你要不要转换为ntfs。 10 type type 文本文件名:显示出文本文件的内容。 11 edit 其实这是个小程序,编辑文本文件用的。 12 ren ren 旧文件名 新文件名:改文件名。
为您推荐:
其他类似问题
您可能关注的内容
命令提示符的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 文件夹里面的文件排序 的文章

 

随机推荐