DOS批处理for循环的时候 为何不能正确显示变量?

leikaiwei2 2012-10-18 05:23:49
@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%i in (*.*) do (
setlocal enabledelayedexpansion
set var =%%i
echo %%i
echo !var:~2,2!
)
pause




如上代码 我只是想遍历目录中的文件 截取文件名的一部分来显示

假设文件名是 12345.txt

这个批处理处理的结果是
12345.txt
~2,2



不应该阿 我想输出的是截取后的值阿..
应该是
12345.txt
34


求高手指点
...全文
389 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leikaiwei2 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

这个和C/c++有毛关系??
[/Quote]

谁说有关系了?
zjs100901 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

这个和C/c++有毛关系??
[/Quote]
CSDN
Longimeago1 2012-10-19
  • 打赏
  • 举报
回复
这个和C/c++有毛关系??
JiMoKuangXiangQu 2012-10-18
  • 打赏
  • 举报
回复
<<MS-DOS批处理程序应用与技巧>>
<<MS-DOS 6.2批处理文件高级指南>>

网上有很多简单的批处理教程,可以搜搜.
JiMoKuangXiangQu 2012-10-18
  • 打赏
  • 举报
回复
变量赋值等号左右边不能有空格.
leikaiwei2 2012-10-18
  • 打赏
  • 举报
回复
多谢 喊了半天没人来 最后自己找出来了

确实是多了个空格


最近对批处理比较感兴趣 初学 见笑啦..

虽然知道是多了一个空格的问题.. 但是感觉这里多一个也没关系呀.. 还不懂其中的原理..

希望告知阿..
JiMoKuangXiangQu 2012-10-18
  • 打赏
  • 举报
回复
set var =%%i
-->
set var=%%i

64,746

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧