无忧启动论坛

标题: 请你们不要再将BAT写得这么复杂 [打印本页]

作者: shoulea    时间: 2010-5-10 23:16
标题: 请你们不要再将BAT写得这么复杂
刚才看到一个贴子“http://bbs.wuyou.net/forum.php?mod=viewthread&tid=144417&extra=&page=3”,发现里面各位谈到的BAT,其变量各部分的获取方法实在是搞得太复杂了。其实完全有更简单的方法“http://bbs.wuyou.net/viewthread. ... 3&extra=#pid1949080”。

对于单字母变量数字变量,CMD解释器提供了抽取路径各各部分的方法。

以下用L做示例,表示“X:\root\folder\dir\basename.ext”
%~dL  -- 返回驱动器名“X:”
%~pL  -- 返回路径名“\root\folder\dir\”
%~nL  -- 返回主文件名“basename”
%~xL  -- 返回扩展名“.ext”

这些也可组合,如:
%~dpL -- 返回“X:\root\folder\dir\”
%~nxL -- 返回“basename.ext”

所以请大家以后不要再写那些天书般的BAT,改用解释器提示的简单方法。另我上面说的都是从cmd.exe的帮助中学来的,输入命令“for /?”即可看到详细的用法!

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

被你们炮轰得不行,来反击一下。

1、用云端搞定NET Framework,方法简洁优美:

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=164851&highlight=

2、用一条命令实现输入法安装:

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=154789&highlight=

[ 本帖最后由 shoulea 于 2010-6-15 04:18 编辑 ]
作者: lianjiang    时间: 2010-5-11 09:03
批处理首先是为完成一个任务而写的,因此最根本的应是是否能够实现预期的目的。
当然,假如是作为批处理教程的形式发布的话,则另当别论。

就好比从上海到北京,有人可以坐飞机去,有人只能坐廉价火车去。
不是他不想坐飞机去,而是资本不够。
作者: lianjiang    时间: 2010-5-11 09:04
水平最高的程序员,不一定能写出最好的、不朽的作品。
作者: shoulea    时间: 2010-5-11 13:28
呵呵,看来我们的观点有些不一样。面对一个问题,我总会找最简单、最直接、形式最优美的方法。如果办不到,我宁愿不做,待到知识足够能做到我才会去做它。
作者: lianjiang    时间: 2010-5-11 22:09
原帖由 shoulea 于 2010-5-11 13:28 发表
呵呵,看来我们的观点有些不一样。面对一个问题,我总会找最简单、最直接、形式最优美的方法。如果办不到,我宁愿不做,待到知识足够能做到我才会去做它。


你怎么知道用的就是“最简单、最直接、形式最优美的”?

假如都像你那样,别说windows了,就是这里的各种pe,我们是谁也别想用到了。呵呵。
作者: lianjiang    时间: 2010-5-11 22:10
山外有山,天外有天。
没有最好,只有更好。
作者: xianglang    时间: 2010-5-12 01:14
我是有东西就吃,管它什么吃相优美不优美,形式简单不简单,效率高不高的——如果那么多讲究,早就饿死或者其他什么死了……
作者: dgxhls    时间: 2010-5-12 01:29
莫非LZ就是江湖中传说的IT奇人?期待LZ多创作几种最简单、最直接、形式最优美的方法。
作者: shoulea    时间: 2010-6-15 04:13
被你们炮轰得不行,来反击一下。

1、用云端搞定NET Framework,方法简洁优美:

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=164851&highlight=

2、用一条命令实现输入法安装:

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=154789&highlight=

大家有点误会我的意思,我并不是说我的水平有多高,我是比较痛恨那些毫不思考地COPY别人代码的做法,完全没有自己的创新,结果本来很简单的东西长期以一种复杂的形式存在。另外所谓方法简单、直接是指如果知道有更好、更直接的方法但我不会,那我就坚持不使用差的、间接的方法。一个典型的例子就是Windows Script Host,如果整合到PE中,那么很多如从XP提取资源的小工具就可以使用JavaScript以更好的方式写出,但现在这方面的工具都是用批处理写成了,里面有多复杂你看看就知道,恐怕作者自己现在都搞不清那些代码是什么意思了。

[ 本帖最后由 shoulea 于 2010-6-15 04:32 编辑 ]
作者: lianjiang    时间: 2010-6-15 08:37
确实你的作品实现了“最简单、最直接、形式最优美”的基本要求。
期待更多的这样的作品问世,以造福于广大的无忧用户。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3