[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
set n=3
set /a "tn=(%random%)%%(%n%)+1"
echo %tn%
没问题啊。

for /f 使用 usebackq 会改变一些符号的的作用:
':界定字符串
":引用文件名
`:包含命令行
用'界定字符串时,如果字符串中有空格,会导致一些问题,可能是语法上的原因。
类似的帖子:http://www.bathome.net/viewthread.php?tid=3614
  1. for /f "usebackq" %%a in ('C:\boot.ini') do echo %%a
  2. for /f "usebackq" %%a in ('C:\boot.ini 1') do echo %%a
  3. for /f %%a in ("C:\boot.ini 1") do echo %%a
  4. pause
复制代码
不使用usebackq,用双引号界定字符串时,因为双引号本身有特殊作用,会将其中的特殊字符转义掉。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

至于call set /a "n=%%n%%+1"这个语句,这样的用法实在太平常了。
lxzzr兄以前没有接触过call变量延迟的用法吗?
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

哦~~被标题误导了,“引发的思考加补充说明”。。。

另外,建议lxzzr兄不要再从脚本之家转载文章,它几乎(完全?)没有自己的原创。而且它会篡改某些内容,引用时最好用文章中的某些关键字google一下原始出处。

[ 本帖最后由 zqz0012005 于 2009-6-4 20:10 编辑 ]
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表