无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3015|回复: 9
打印 上一主题 下一主题

请你们不要再将BAT写得这么复杂

[复制链接]
跳转到指定楼层
1#
发表于 2010-5-10 23:16:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚才看到一个贴子“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 编辑 ]
2#
发表于 2010-5-11 09:03:00 | 只看该作者
批处理首先是为完成一个任务而写的,因此最根本的应是是否能够实现预期的目的。
当然,假如是作为批处理教程的形式发布的话,则另当别论。

就好比从上海到北京,有人可以坐飞机去,有人只能坐廉价火车去。
不是他不想坐飞机去,而是资本不够。
回复

使用道具 举报

3#
发表于 2010-5-11 09:04:51 | 只看该作者
水平最高的程序员,不一定能写出最好的、不朽的作品。
回复

使用道具 举报

4#
 楼主| 发表于 2010-5-11 13:28:01 | 只看该作者
呵呵,看来我们的观点有些不一样。面对一个问题,我总会找最简单、最直接、形式最优美的方法。如果办不到,我宁愿不做,待到知识足够能做到我才会去做它。
回复

使用道具 举报

5#
发表于 2010-5-11 22:09:11 | 只看该作者
原帖由 shoulea 于 2010-5-11 13:28 发表
呵呵,看来我们的观点有些不一样。面对一个问题,我总会找最简单、最直接、形式最优美的方法。如果办不到,我宁愿不做,待到知识足够能做到我才会去做它。


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

假如都像你那样,别说windows了,就是这里的各种pe,我们是谁也别想用到了。呵呵。
回复

使用道具 举报

6#
发表于 2010-5-11 22:10:11 | 只看该作者
山外有山,天外有天。
没有最好,只有更好。
回复

使用道具 举报

7#
发表于 2010-5-12 01:14:03 | 只看该作者
我是有东西就吃,管它什么吃相优美不优美,形式简单不简单,效率高不高的——如果那么多讲究,早就饿死或者其他什么死了……
回复

使用道具 举报

8#
发表于 2010-5-12 01:29:02 | 只看该作者
莫非LZ就是江湖中传说的IT奇人?期待LZ多创作几种最简单、最直接、形式最优美的方法。
回复

使用道具 举报

9#
 楼主| 发表于 2010-6-15 04:13:59 | 只看该作者
被你们炮轰得不行,来反击一下。

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 编辑 ]
回复

使用道具 举报

10#
发表于 2010-6-15 08:37:31 | 只看该作者
确实你的作品实现了“最简单、最直接、形式最优美”的基本要求。
期待更多的这样的作品问世,以造福于广大的无忧用户。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-2-24 20:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表