[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]代码中用 defined 判断变量为何出错?

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set c=0
  4. for /l %%a in (992 1 1010) do (
  5.     set a=%%a
  6.     set b=!a:~3,4!
  7.     if defined b set c=!a:~0,1!
  8. echo http://xia.abada.cn/t3kjuyij/!c!/%%a/%%a.rar
  9. )
  10. pause
复制代码
为什么没变量b的时候c=9
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2
本人已死!不用联系!~
要联系下来联系!~~

多加空格使变量有定义了, 以后类似 set b=!a:~3,4!建议写成 set "b=!a:~3,4!"便于检查
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

第六行结尾多了个空格
1

评分人数

    • jellyhk: 这都能找出来!厉害!技术 + 1

TOP

变量判断的问题,使用if  not "!var!"=="" echo,ddddd的形式
1

评分人数

    • CrLf: 乐于助人PB + 5
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

原来多了空格!晕
本人已死!不用联系!~
要联系下来联系!~~

TOP

一个空格引发的血案,犀利了。

TOP

返回列表