一个批处理编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:20:50
@set /a num=12
set str3=%filename:~0,12%

目的是将set str3=%filename:~0,12%中的12用num变量执行,
即set str3=%filename:~0,%num%%
有方法的解决一下谢谢!
setlocal EnableDelayedExpansion
我写过,好像它不能放在文件头上,只能跟着要改的语句才能实现。不过倒是对了能运行。这个语句有什么限制么?

这样:
setlocal EnableDelayedExpansion
set /a num=12
set str3=!filename:~0,%num%!

试试看吧

这个命令是启用变量延迟的开关,这个命令以后的部分就启用了变量延迟功能。这个放在文件开头是可以的。
关于变量延迟,可以参考:
http://www.cn-dos.net/forum/viewthread.php?tid=28273