中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-23 12:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [结贴]关于ACDSee的重命名算法 查看 2,371 回复 21
16 发表于 2008-07-30 22:51 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
没办法,重命名对效率比较敏感,尤其在1000多个文件批量重命名时,能省一点就是一点-_-||
17 发表于 2008-07-30 22:59 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by obsolete at 2008-7-30 22:51:
没办法,重命名对效率比较敏感,尤其在1000多个文件批量重命名时,能省一点就是一点-_-||

我不知道楼主所指的是什么效率,1000个,10000个,100000个怎么样,现写现用就是的。。。
学习批处理激情固然重要,问题是努力的方向不要偏离了。。。
批处理之家新域名:www.bathome.net
18 发表于 2008-07-30 23:10 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
恩,刚开始对用批处理写的东西感兴趣,一般都没思路,不知道写什么,抓着个就想搞搞清楚了。
其实我不打算在批处理方面 面面俱到,只是想怎样解决一些日常会遇到的问题。我觉得这是个很好的题。
19 发表于 2008-07-30 23:13 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
这个尝试也不是完全没有收获:
1. set的效率比较高
2. call,set浪费时间,尽量避免
3. 数字补零算法

所以我觉得,在效率方面多考虑,对学习批处理应该也有帮助。
20 发表于 2008-07-31 22:07 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
恩,我还是继续坚持下去,本着共享的精神-_-||
前面反复说到call,set的效率问题,今天试着用for循环替换call,set,发现效率提高很多。通过运用for的嵌套,相信在效率影响比较大的场合,可以基本抛弃call,set了。


@echo off
setlocal enabledelayedexpansion

set template=?a??b???c????d?????e??????f???????g????????h?????????i??????????j???????????k????????????l?????????????m??????????????n???????????????o????????????????p?????????????????q??????????????????r???????????????????s????????????????????t?????????????????????u??????????????????????

set template=!template:?=:?!
set template=!template:?:=/!
set template=!template::=!

for /l %%a in (1,1,1001) do (
set file=%template%
set temp=%%a:::::::::%%a
for %%b in (!temp:~10!) do set file=!file:?=%%b!
for /l %%i in (1,1,9) do set file=!file:/:=!
set file=!file:/=0!
set file=!file::=!
echo !file!
echo.
)

pause


[ Last edited by obsolete on 2008-7-31 at 11:15 PM ]
21 发表于 2008-07-31 22:16 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
啊~阿里卤鸭~~
only you ~ 不应该这样子的,真的。如果我们写代码的时间超过了
我们用鼠标执行的时间,并且一直存在bug,那会是一件很吃力不讨好的事儿

这种精神我们是都需要滴 ,不过应该花在更好的创新的方面



回22楼,额……不知道说什么……
不过我有个经验 ,整天对着电脑我什么都想不出
但是我上学的时候特别无聊 ,灵感就特多……不知道咋搞的的
我想,你需要放松

[ Last edited by 523066680 on 2008-8-1 at 10:47 AM ]
22 发表于 2008-07-31 22:25 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
Originally posted by 523066680 at 2008-7-31 22:16:
啊~阿里卤鸭~~
only you ~ 不应该这样子的,真的。如果我们写代码的时间超过了
我们用鼠标执行的时间,并且一直存在bug,那会是一件很吃力不讨好 ...


恩谢谢指点。没想到这么短时间就把缺点暴露出来了,其实我工作也一样,涉及的东西太少,和别人一比很受挫。。。
论坛跳转: