有没有办法在 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 语句?
感谢你的协助。
有没有办法在 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 语句?
感谢你的协助。
应该没有必要。如果的输出APPCMD
是一个空字符串,FOR /F
将忽略它(如果行开始;
)
现在,如果任何一行只包含空格,那是另一个问题。
通过运行此批处理进行检查:
@echo off
setlocal
FOR /F %%f IN ('C:\Windows\System32\inetsrv\appcmd list site /text:name /bindings:') DO ECHO ++%%f$$
pause
这将在每行++
的开头和$$
结尾显示返回的每个项目。
如果报告了不需要的名称,那么我们需要处理它。
要寻找的东西: