我试图简单地将目录中的文件名转换为循环然后进行处理(最终目的是在文件名上执行子字符串),但无法使其工作。
我已经搜索了很多内容,在我看来,我所做的事情应该有效,但我显然错过了一些东西。
这是我的代码: -
setlocal ENABLEDELAYEDEXPANSION
set files=*.*
FOR %%A IN ("%files%") DO (
echo %%A
Set MYVAR=%%A
echo MYVAR=%MYVAR%
)
pause
echo
的{{1}}工作正常,但%%A
始终为空。我有这个工作
在我添加括号之前的1行。
请帮忙。我已经花了太长时间在这上面,我正在拔头发。
答案 0 :(得分:0)
尝试使用以下两种方法之一。
或者:
@Echo Off
SetLocal EnableDelayedExpansion
Set "files=*.*"
For %%A In ("%files%") Do (
Echo=%%A
Set "MYVAR=%%A"
Echo=MYVAR=!MYVAR!
)
Timeout -1
或者:
@Echo Off
Set "files=*.*"
For %%A In ("%files%") Do (
Echo=%%A
Set "MYVAR=%%A"
Call Echo=MYVAR=%%MYVAR%%
)
Timeout -1