有没有办法在bat文件中测试此表达式中的空值?
FOR /F %%f IN ('C:\Windows\System32\inetsrv\appcmd list site /text:name /bindings:') DO rmdir /s/q "D:\Websites\%%f"
如果%% f为空,它将不会执行Do rmdir语句?
感谢您的协助。
答案 0 :(得分:1)
不应该是必要的。如果APPCMD
的输出为空字符串,FOR /F
将忽略它(如果该行开始;
)
现在,如果任何一行只包含空格,那就是另一个问题。
运行此批次检查:
@echo off
setlocal
FOR /F %%f IN ('C:\Windows\System32\inetsrv\appcmd list site /text:name /bindings:') DO ECHO ++%%f$$
pause
这将显示返回的每件商品,开头为++
,每行末尾为$$
。
如果报告了不需要的名称,那么我们需要处理它。
要寻找的东西: