今天发现一个问题:
开启变量延迟后,在for /r !路径变量! %%i in () do ()中,
使用!路径变量!的形式无效,必须使用%路径变量%才能成功!
这是什么原因呢?
下面是测试代码及结果图,请教大神们指点,谢谢!
(1)测试失败代码及结果图- @echo off
- setlocal enabledelayedexpansion
- set 地址="d:\test"
- echo !地址!
- echo %地址%
- for /r !地址! %%i in (*.*) do (echo %%i)
复制代码 图片上传失败,测试结果如下:
D:\test>a.bat
"d:\test"
"d:\test"
------------------------------------
(2)测试成功代码及结果图:- @echo off
- setlocal enabledelayedexpansion
- set 地址="d:\test"
- echo !地址!
- echo %地址%
- for /r %地址% %%i in (*.*) do (echo %%i)
复制代码 图片上传失败,测试结果如下:
D:\test>a.bat
"d:\test"
"d:\test"
d:\test\a.bat
d:\test\新建文本文档.bat
d:\test\新建文本文档.txt
d:\test\新建文件夹\新建文本文档.txt |