写一个bat文件,传两个参数,在两个参数之间循环。参数是日期形式的字符串。下面是代码。

[复制链接]
查看11 | 回复2 | 2020-5-28 20:09:54 | 显示全部楼层 |阅读模式
首先说一下问题,因为在批处理开始执行的时候,每一个引用的变量都会被扩充。因此重新变量赋值改变后,使用%变量%来引用变量值的话,得到的会是原来的变量值,启用延迟变量扩充可以解决。看一个例子:set var=valueif "%var%"=="value" (
set var=new_value
if "%var%"=="new_value" @echo 看见这个说明新的变量值引用成功。) 结果是不会看见消息的。正确做法是SetLocal EnableDelayedExpansionset var=valueif "%var%"=="value" (
set var=new_value
if "!var...
回复

使用道具 举报

千问 | 2020-5-28 20:09:54 | 显示全部楼层
自己写的?好乱。不知道你想干嘛。别的先不说,就FOR /L这个 不管你CALL后的变量值是多少,它都会循环结束的,也就是从 20121231--到--20130102才会结束的。显示的也只是 20121231--到--20130102应为早在FOR开始的时候变量就已经固定了。在FOR /L环境不管你变量如何变化对FOR本身毫无影响。就如你建立文件夹里...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行