找回密码
 注册
快捷导航
123
返回列表 发新帖
楼主: free391

谁能帮忙设计或找到这样一个小程序??!!

[复制链接] |自动提醒
阅读字号:

461

回帖

1

积分

1818

资产值

初级会员 Rank: 1

注册时间
2003-12-15
 楼主| 发表于 2005-4-25 23:29:38| 字数 419| - 广东省深圳市福田区 电信 | 显示全部楼层
QUOTE:
Originally posted by mqkng at 2005-4-24 11:16:
谢谢,楼主

关于56问题:
1、A文件内有ZIP文件是移动到B还是C,同理,D内非ZIP文件是移动到E还是F,或者直接按你原计划移动,如:A内ZIP,移动到C并不移动到B内,B内只有新产生的ZIP文件,同样在D内一样吗?
...


我也要在五一期间外出(出差,不是旅游哦)。
所以不着急的,过十天半个月再说吧。

1。当A、B文件夹相同时, A内所有ZIP文件是不需要移动的(也就是说还在A或B内),即程序处理后,A或B内全部是ZIP文件(既有旧的,也有新的)。

2。同理,当D、E文件夹相同时,D内非ZIP文件是不需要移动的(也就是说还在D或E内),即程序处理后,A或B内全部是非ZIP文件(既有旧的,也有新的)。

最好对不要求处理的文件不予理睬。这样效率高。

另外,我要处理的文件都是很小,都是文本文件,每个只有几百KB,在两分钟之内最多只有两三个,瞬间可处理完成。
回复 支持 反对

使用道具 举报

965

回帖

0

积分

1806

资产值

入门会员 Rank: 1

注册时间
2005-3-26
发表于 2005-4-30 13:28:33| 字数 29| - 江苏省无锡市 电信 | 显示全部楼层
太经典了。充分体现了专门网的初衷:互帮互助,共同提高! 赞!
X31, PM1.4, 512M, 60G 5400rpm,TP-Link 11M WLAN.
回复 支持 反对

使用道具 举报

1363

回帖

2

积分

343

资产值

禁止发言

注册时间
2003-6-10
铜牌荣誉勋章(注册8年以上会员)
发表于 2005-4-30 14:59:23| 字数 125| - 广东省深圳市宝安区 电信 | 显示全部楼层
压缩消耗的时间>启动时间间隔(2min)时,程序会出错.为什么不在主程序里对winrar这个进程进检查,待winrar执行完毕,再接着做下一步呢,完善的程式设计应该做到这样.试试这个GetExitCodeProcess api,希望有XD来完善它
签名被屏蔽
回复 支持 反对

使用道具 举报

1221

回帖

40

积分

4385

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-5-30
发表于 2005-4-30 15:09:13| 字数 274| - 美国 康涅狄格州纽黑文市耶鲁大学 | 显示全部楼层
QUOTE:
Originally posted by zwsoft78 at 2005-4-30 02:59 PM:
压缩消耗的时间>启动时间间隔(2min)时,程序会出错.为什么不在主程序里对winrar这个进程进检查,待winrar执行完毕,再接着做下一步呢,完善的程式设计应该做到这样.试试这个GetExitCodeProcess api,希望有X ...


采用定时扫描本来就不是很高效的办法,更好的方法是利用windows的回调函数
实时监控。例如:http://www.thinkpad.cn/forum/vie ... ge=1&highlight=
http://chris.wu.yale.googlepages.com/home
回复 支持 反对

使用道具 举报

352

回帖

2

积分

390

资产值

初级会员 Rank: 1

注册时间
2003-5-4
铜牌荣誉勋章(注册8年以上会员)
发表于 2005-4-30 20:10:05| 字数 23| - 上海市 东方有线 | 显示全部楼层
询问一下,楼主要处理的源文件是任意的扩展名么?
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2005-5-2 22:54:12| 字数 112| - 陕西省西安市 电信/南大街汉宫网吧 | 显示全部楼层
QUOTE:
Originally posted by Labyrinth at 2005-4-30 08:10 PM:
询问一下,楼主要处理的源文件是任意的扩展名么?



程序化和想像中,应该差别要大,但努力做到一致,,也就是你想到了,就给他做上
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2005-8-30 20:08:22| 字数 25| - 四川省成都市 电信 | 显示全部楼层
翻出来看看了一片遍,回想当时参与情形,感概中。。。
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

751

回帖

13

积分

1832

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-4-23
发表于 2005-8-31 09:57:40| 字数 2,530| - 陕西省西安市 电信 | 显示全部楼层
这个老帖又被顶上来了. 有 ".bat" 同好对下面的语句有兴趣:

QUOTE:
dir /a:-d /b |awk "BEGIN{FS=\".\"} !/\.zip/ {printf  \"7za a -tzip \042%folderB%\\%%s.zip\042 \042%%s\042\n\",  $1, $0}"|cmd

我在这里解释一下这个语句的意思. 希望大家能够看明白.

语句分为 3 部分, 使用管道符号 "|" 分割. 看第一部分:

dir /a:-d /b

执行一下就知道了. 这个命令列出当前目录下的所有文件(目录除外), 并且显示为一列. 比如在 C:\ 执行该命令, 得到如下结果.
QUOTE:
C:\Documents and Settings\nicole>cd \

C:\>dir /a:-d /b
a.log
arcldr.exe
arcsetup.exe
AUTOEXEC.BAT
boot.ini
bootmgr
BOOTSECT.BAK
chain0
CONFIG.SYS
CountCyclesWMVDecLog.txt
hiberfile.sys
IO.SYS
MSDOS.SYS
NTDETECT.COM
ntldr
pagefile.sys
peldr


可能大家理解有些困难的就是第二部分.

awk "BEGIN{FS=\".\"} !/\.zip/ {printf  \"7za a -tzip \042%folderB%\\%%s.zip\042 \042%%s\042\n\",  $1, $0}"

awk 是 unix 下的一个程序. 我这里用到的是 windows 版的.
awk 的具体用法如果感兴趣可以 google 一下.

BEGIN{FS=\".\"}
在最开始时执行一个赋值操作. FS 表示 field separator, 这里把 "." (dot) 作为分隔符(\ 用于转义). 上例中的文件名比如 "a.log", 通过管道传给 awk 之后, awk 会用 "."

作为分隔符, 将 a.log 分为两部分. 第一部分 a 命名为 $1, 第二部分 log 命名为 $2. ($0则指的是这一整行的内容即 a.log)

!/\.zip/ 表示查找包含 .zip 的行, ! 表示非, 即查找不包括 .zip 的行, (\ 用于转义), 这句命令的意思是不处理 .zip 文件

{printf  \"7za a -tzip \042%folderB%\\%%s.zip\042 \042%%s\042\n\",  $1, $0}
对于从管道来的每一行字符串, 执行这个命令. 其实也就是打印了一个类似于这样的字符串. 为了简单, 我们去掉一些冗余的东西. 比如 %folderB%, 另外, 在 bat 文件里, % 双写也是为了转义, 在命令行里就只需要一个 % 了.

QUOTE:
C:\>dir /a:-d /b | awk "BEGIN{FS=\".\"} !/\.zip/ {printf  \"7za a -tzip \042%s.zip\042 \042%s\042\n\",  $1, $0}"
7za a -tzip "a.zip" "a.log"
7za a -tzip "arcldr.zip" "arcldr.exe"
7za a -tzip "arcsetup.zip" "arcsetup.exe"
7za a -tzip "AUTOEXEC.zip" "AUTOEXEC.BAT"
7za a -tzip "boot.zip" "boot.ini"
7za a -tzip "bootmgr.zip" "bootmgr"
7za a -tzip "BOOTSECT.zip" "BOOTSECT.BAK"
7za a -tzip "chain0.zip" "chain0"
7za a -tzip "CONFIG.zip" "CONFIG.SYS"
7za a -tzip "CountCyclesWMVDecLog.zip" "CountCyclesWMVDecLog.txt"
7za a -tzip "hiberfile.zip" "hiberfile.sys"
7za a -tzip "IO.zip" "IO.SYS"
7za a -tzip "MSDOS.zip" "MSDOS.SYS"
7za a -tzip "NTDETECT.zip" "NTDETECT.COM"
7za a -tzip "ntldr.zip" "ntldr"
7za a -tzip "pagefile.zip" "pagefile.sys"
7za a -tzip "peldr.zip" "peldr"


其实这里输出的就是 7za 的压缩文件的命令.
printf 的语法和 c 里面的差不多. %s 表示字符串. 前面解释过, $1 即 "." 前面的部分, 也就是文件名(不包括扩展名). $0 则是完整的文件名.
至于 \042, 042 是引号的八进制 ASCII 码. 这里为了输出这个引号, 用了比较迂回的方法. 因为转义转来转去已经没办法用 \" 来让 awk 输出引号了.
注意, 如果这里不用引号把文件名括起来, 将不能处理文件名中有空格的情况.

|cmd, 这就很简单的, 把刚才产生的命令用管道传给一个 cmd, 也就是让它来执行这些命令.

上面就是这个命令的详解. That's all. thx.
回复 支持 反对

使用道具 举报

188

回帖

0

积分

506

资产值

入门会员 Rank: 1

注册时间
2005-4-4
发表于 2005-8-31 10:35:55| 字数 8| - 上海市浦东新区 电信 | 显示全部楼层
强啊,实在太强了
回复 支持 反对

使用道具 举报

2万

回帖

3

积分

5116

资产值

初级会员 Rank: 1

注册时间
2005-8-8
铜牌荣誉勋章(注册8年以上会员)
发表于 2005-8-31 10:39:09| 字数 14| - 广东省佛山市 联通IDC机房 | 显示全部楼层
劲啊!!!
我也要下载来试试看
回复 支持 反对

使用道具 举报

90

回帖

3

积分

397

资产值

中级会员 Rank: 2Rank: 2

注册时间
2004-4-9
银牌荣誉勋章(注册10年以上会员)
发表于 2005-8-31 13:31:15| 字数 12| - 菲律宾 PLDT | 显示全部楼层
有幸看到这么一篇经典帖子
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2005-8-31 17:57:33| 字数 97| - 四川省成都市 电信 | 显示全部楼层
由此帖引发出新的讨论,不错

新讨论帖子

【请教】IT行业做软件好?还是做硬件好??
http://www.ibmnb.com/viewthread.php?tid=278966&fpage=1
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

2620

回帖

23

积分

2958

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-3-2
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2005-9-1 10:22:05| 字数 14| - 江苏省常州市 电信 | 显示全部楼层
HOHO 专门网  。。。拽。。。
T20 除掉喽。。T60换主人了
入手-X230--I5-3320/8G/SSD128+320g/改了x教12.5 FHD
回复 支持 反对

使用道具 举报

2582

回帖

2

积分

2万

资产值

初级会员 Rank: 1

注册时间
2005-4-2
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2005-9-1 13:21:47| 字数 5| - 湖北省武汉市 联通 | 显示全部楼层
经典强帖子
回复 支持 反对

使用道具 举报

1077

回帖

0

积分

3426

资产值

入门会员 Rank: 1

注册时间
2004-10-8
发表于 2005-9-1 15:27:27| 字数 8| - 广东省深圳市南山区 电信 | 显示全部楼层
^_^果然有高手
A22-->T30虽然不新,用着还行!P4M1.9 1G升级 5K80 60G DVD 802.11B
回复 支持 反对

使用道具 举报

749

回帖

0

积分

1907

资产值

入门会员 Rank: 1

注册时间
2004-3-7
发表于 2005-9-2 19:05:02| 字数 27| - 广西南宁市 电信 | 显示全部楼层
确实这样,很久没有看到这么经典的帖子。这凭这气氛!!!
没本的时候想有本,有本的时候想好本,好本的时候想多本,多本的时候不用本!
回复 支持 反对

使用道具 举报

920

回帖

0

积分

3727

资产值

入门会员 Rank: 1

注册时间
2005-3-27
发表于 2005-9-2 20:00:19| 字数 21| - 上海市嘉定区 电信 | 显示全部楼层
进来留名的
保留此贴
以免收藏夹中的不见了:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2024-5-22 00:50 , Processed in 0.145946 second(s), 54 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|联系我们|专门网

返回顶部