无忧启动论坛

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

[求助] 【 抱歉】%~z1 结果为空 (应该用这个标题才合适)

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-18 22:05:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. cat --locate=\r\n (0)/txtsetup.oem | call :dyn_oem (0)/txtsetup.oem start=
  2. ..................
  3. :dyn_oem
  4. echo zheshiwenjiandaxiao: %~z1
  5. if "%3"=="" && echo 这是文件大小:%~z1 && exit
  6. shift 1 && goto :dyn_oem
复制代码
结果:
zheshiwenjiandaxiao:0x2b22
zheshiwenjiandaxiao:0x2b22
.
.
.
.
zheshiwenjiandaxiao:0x2b22
这是文件大小:
BUG的地方
if "%3"=="" && echo 这是文件大小:%~z1  这句的值为空

[ 本帖最后由 hotdll 于 2011-10-19 17:28 编辑 ]
2#
发表于 2011-10-18 22:22:42 | 只看该作者
应该是你自己你问题吧,比如写错。

建议你自己做更仔细的测试,
回复

使用道具 举报

3#
发表于 2011-10-18 22:23:57 | 只看该作者
证据不足吧。
回复

使用道具 举报

4#
 楼主| 发表于 2011-10-18 22:50:49 | 只看该作者
原帖由 chenall 于 2011-10-18 22:22 发表
应该是你自己你问题吧,比如写错。

建议你自己做更仔细的测试,

简化后的代码:
  1. !BAT
  2. cat ()/ceshi.bat | call :_a ()/ceshi.bat=
  3. pause
  4. exit
  5. :_a
  6. echo %~z1
  7. if "%2"=="" echo zhe shi : %~z1 && exit
  8. shift 2
复制代码
运行结果截图:


请问C大,哪里错了?

[ 本帖最后由 hotdll 于 2011-10-19 07:46 编辑 ]
回复

使用道具 举报

5#
发表于 2011-10-18 23:08:01 | 只看该作者
抱歉,我没有看到异常,只看到语法错误。。。。
回复

使用道具 举报

6#
 楼主| 发表于 2011-10-18 23:10:58 | 只看该作者

回复 #5 chenall 的帖子

请C大指出。谢谢!!!!
回复

使用道具 举报

7#
发表于 2011-10-18 23:16:39 | 只看该作者
逻辑运算还是管道?

|| 和 | 应该是不同的吧?
回复

使用道具 举报

8#
发表于 2011-10-19 00:06:28 | 只看该作者

回复 #4 hotdll 的帖子

逻辑上有问题吧  我感觉你这么执行的话  相当于执行

call :_a ()/ceshi.bat=!BAT

以此类推
回复

使用道具 举报

9#
发表于 2011-10-19 00:14:16 | 只看该作者
这样试试:
  1. cat --locate=\r\n (0)/txtsetup.oem | call :dyn_oem (0)/txtsetup.oem=
  2. ..................
  3. :dyn_oem
  4. echo zheshiwenjiandaxiao: %~z1
  5. if "%2"=="" && echo 这是文件大小:%~z1 && exit
  6. shift 2 && goto :dyn_oem
复制代码

======================================
  1. if "%2"=""
复制代码

差个=号

[ 本帖最后由 zxw 于 2011-10-19 00:15 编辑 ]
回复

使用道具 举报

10#
发表于 2011-10-19 01:05:26 | 只看该作者
等号是一眼看出来的笔误。

即使加上等号也还是跟#1楼差不多。
说bug证据不足。

还是自己多折腾吧。
回复

使用道具 举报

11#
 楼主| 发表于 2011-10-19 07:48:55 | 只看该作者

回复 #10 pseudo 的帖子

等号确实是打字的时候手误,我用的浏览器不是IE,无忧的编辑界面对非IE的浏览器支持不好。

即使是加上一个等号,也还是会出现这种情况。就是在if "%2"=="" echo zhe shi :  && exit 的时候,%~z1为空。

P大能不能修改下这个简化的批处理,让他接过正确?

不甚感激。

附注:我用另外一个算法达到了我的目的。提这个纯粹是想弄明白和反馈问题。

[ 本帖最后由 hotdll 于 2011-10-19 07:50 编辑 ]
回复

使用道具 举报

12#
发表于 2011-10-19 10:50:18 | 只看该作者

if "%2"==""
改为
echo zero=%0,first=%1,second=%2 && if "%2"==""
便于分析。
回复

使用道具 举报

13#
发表于 2011-10-19 11:10:50 | 只看该作者

debug 3
看一下运行结果就很明显的。%~xx是运行之前就替换掉了。所以用debug 3看到的就是实际的结果。

我还是认为这是属于人为的错误导致的。
回复

使用道具 举报

14#
发表于 2011-10-19 11:12:09 | 只看该作者

回复 #11 hotdll 的帖子

“不甚感激” 就像 “有木有”、“伤不起”一样,成为网络特殊用语,普遍被使用。不知道 google 的翻译能否处理这样的情况。

规范的、正确的用语应该是 “不胜感激”。是 “十分感激”、“感激不尽” 的意思。
回复

使用道具 举报

15#
发表于 2011-10-19 15:47:34 | 只看该作者
呵呵,原来不点大也关注这些
回复

使用道具 举报

16#
发表于 2011-10-20 09:52:04 | 只看该作者
不点大师都来教中文了,
现存事实:网络普遍了,中文是有点不规范了,值得深思
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-30 18:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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