如果存在文件夹 rmdir 文件夹 && mkdir 文件夹将不会执行之后的任何命令 &&

if exist folder rmdir folder && mkdir folder will not execute any command after that &&

允许我删除和创建文件夹的语法是什么,无论它之前(不)存在?

if exist folder rmdir folder && mkdir folder

将不起作用。既不将 && 替换为 &|||...

那么正确的语法是什么?

OS: Windows 2012 Shell: cmd.exe*

PS 只要满足两个条件,我可以接受基于 PS 的答案。 1) 它必须从 cmd.exe 开始 2) 如果遇到任何错误(如缺少权限),它必须向 cmd 标准输出提供有意义的错误。

由于您使用的 rmdir 没有 /S 开关,我假设感兴趣的文件夹是空的,那么为什么要删除并重新创建它呢?您可以简单地创建它并在它已经存在的情况下抑制错误消息,例如:

mkdir "folder" 2> nul

当然,此变体保留所有文件夹属性和所有者。


如果您坚持删除并重新创建文件夹,请使用:

rmdir "folder" 2> nul & mkdir "folder"

此变种会破坏所有文件夹属性和所有者。


如果文件夹保证为空,则需要rmdir/S开关; /Q 也有助于避免被提示真正删除文件夹,例如:

rmdir /S /Q "folder" & mkdir "folder"