注册
登录
论坛
搜索
帮助
导航
设置
VIP
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
出题挑战
» 【擂台赛】将字符串转换为ascii值的高效代码 -- 批处理完成
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
1
楼
跳转到
»
发表于 2012-3-2 01:36
|
显示全部帖子
本帖最后由 lllsoslll 于 2012-3-2 02:36 编辑
我的 version 1.0
set str=0123_ABCDXYZabcdxyz
rem 版本一代码
复制代码
测试代码运行结果:
一次任务与一次“@echo off命令”耗时比=
6219
继续优化。。
我的 version 1.1
set str=0123_ABCDXYZabcdxyz
rem 版本一代码
复制代码
测试代码运行结果:
一次任务与一次“@echo off命令”耗时比=
5756
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
2
楼
发表于 2012-3-2 13:24
|
显示全部帖子
看来我的代码效率好低,是8楼的1/3
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
3
楼
发表于 2012-3-2 16:58
|
显示全部帖子
本帖最后由 lllsoslll 于 2012-3-2 17:06 编辑
回复
15#
CrLf
恩;
只是大略消除;而且比值的思想是假定电脑配置和环境的变化,使得echo off耗时和代码耗时成正比例变化的;事实上应该不是线性关系;
姑且用近似线性关系来消除偏差;毕竟二者都是随配置提升耗时减少的,单调性一致;
因为求比值的时候,echo off是100000次;代码任务是500次;
最后给代码任务的耗时乘以200;
比值的结果后两位数都是不精确的位数;
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
4
楼
发表于 2012-3-2 16:59
|
显示全部帖子
回复
15#
CrLf
想知道如何利用预处理把等号替换为空格
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
5
楼
发表于 2012-3-2 18:38
|
显示全部帖子
回复
18#
CrLf
一直以来,
for /f "delims=" %%a in (""..........."")do ......
还有
for /f "usebackq" ...
在xp中被认为是cmd for /f 的bug(提示找不到文件。。乱码。。);
我这里xp,你那个代码如果把.net与abc之间的等号,换成两个等号,即:
bbs.bathome.net==abc=123====ABC=@#$=test========
这个bug就犯了;
是不是win7修复了这个bug;
另外,我的这里连续的多个等号被当做一个等号替换了;
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
6
楼
发表于 2012-3-2 18:43
|
显示全部帖子
回复
18#
CrLf
还有一点,当usebackq不犯的时候,
for /f "delims=" %%a in (""string"")do ............
预处理string时,不仅把=视作空格,像参数分割符(= 、,、;、tab)都被视作空格;
(xp系统)
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
7
楼
发表于 2012-3-2 18:49
|
显示全部帖子
回复
20#
CrLf
不错,很好;我一直对usebackq这个bug视作怪物,usebackq的特性我一直就废弃了;
以后用这个^"string^"的转义代替这个特性了;
SOS --- >> lllsoslll@163.com
TOP
lllsoslll
发短消息
加为好友
lllsoslll
当前离线
UID
35795
帖子
97
精华
0
积分
164
PB
146
技术
6
捐助
0
阅读权限
20
在线时间
181 小时
注册时间
2011-3-29
最后登录
2018-9-26
二级士官
帖子
97
积分
164
技术
6
捐助
0
注册时间
2011-3-29
8
楼
发表于 2012-3-2 20:06
|
显示全部帖子
回复
18#
CrLf
变量名和替换字符不分大小写,变量法或直接替换获取的话,怕是大问题
SOS --- >> lllsoslll@163.com
TOP
返回列表
BAT原创&转载
BAT求助&讨论
第三方命令行
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]
设置
关闭
开启 【页面动态效果 + 卡片式布局】
关闭 【页面动态效果 + 卡片式布局】