forfile命令删除除目录外的所有内容

Forfile command to delete all except a directory

我想使用forfile 命令删除某些目录中的所有.frm 文件。但是,我不想删除特定目录下的 *.frm 文件。

我有这个,但我不知道如何把我不想删除文件的目录名称:

forfiles /p D:\myfolder\ /s /m *.frm /c "cmd /c IF NOT DESIRE_DIR del @PATH"

请帮忙!

@for /f "delims=" %A in ('dir /ad /b^|findstr /l /v /i "Dirname1 Dirname2"') do @echo %A

这也比 forfiles 快很多。 Forfiles 只有在按日期列出文件时才真正有用。

将您的文件夹名称放入 Dirname1Dirname2 以排除它们。空格表示或。

记得在批处理文件中 %A 变成 %%A.

forfiles /p D:\myfolder\ /s /d -7 /m *.frm /c "cmd /c echo @path >> %temp%\temp.txt"
for /f "delims=" %A in ('findstr /i /v "list of excluded directories" ^< "%temp%\temp.txt"') do echo %A

你的 /m 也放错了地方,你会看到一条消息告诉你。