是新手到Windows批处理文件,并一直在努力与此脚本与几个实验的时间超过8小时..但没有运气...如何检查“或EQU”窗口中的批处理文件
这是我的代码
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
echo %%f
echo %%~xf
IF %%~xf==".xml" |= ".java" (
echo file needed
) ELSE(
echo file not needed
del %%f
)
)
1)我无法获得| =的工作; “此时”获得“意外”。“错误
2)如何使这个工作的所有文件和子目录下这fodler?
3)我也试过如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
set todel=yes
echo %%~xf
echo todel=%todel%
IF %%~xf==".xml" (
todel=no
)
IF %%~xf==".java" (
todel=no
)
echo todel=%todel%
IF %todel%=="yes" (
del %%f
)
)
todel总是空的。猜猜我不能这样设置循环内?
任何帮助表示赞赏。谢谢!
如果您阅读“IF”命令的帮助文件,可能会有帮助。在命令提示符下输入'IF /?'。 – Squashman
第二组代码的问题在于你在代码块中,它需要使用延迟扩展。您必须启用延迟扩展,然后使用感叹号而不是百分号来引用变量。 IF命令也可以进行字符串比较。如果你在比较的一边有报价,他们必须在另一边。 – Squashman
嗨Squashman,谢谢你的回复。我无法理解你在说什么。你能不能把你的话放进代码中去显示缺少的东西? – user1164061