首页 > 解决方案 > 为什么输出中缺少命令 FOR 的 /D 选项中的字母 D?

问题描述

我正在创建一个批处理文件来删除除文件夹之外的所有文件和文件TEMP夹。我注意到输出中缺少选项的字母D。/D该脚本似乎工作正常,但我想知道为什么它丢失了。

@echo on
@Y:
REM Following dangerous command commented out for safety - magoo
REM for %%f in (*) do del "%%f"
for /D %%d in (*) do (
    if /I not "%%d" == "TEMP" echo "%%d"
)
pause

输出:

Y:\>for %f in (*) do del "%f"

Y:\>for / %d in (*) do (if /I not "%d" == "TEMP" echo "%d" )

Y:\>(if /I not "TEMP" == "TEMP" echo "TEMP" )

Y:\>(if /I not "test" == "TEMP" echo "test" )
"test"

Y:\>(if /I not "test 2" == "TEMP" echo "test 2" )
"test 2"

Y:\>pause

我只是为了测试目的而呼应。我最终会用rd /S /Q.

标签: batch-filecmd

解决方案


推荐阅读