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

Cmd 如果存在文件夹rmdir文件夹&&;mkdir文件夹在此之后将不会执行任何命令&&;,cmd,windows-server-2012,Cmd,Windows Server 2012,什么样的语法允许我删除文件夹并创建它,而不管它以前是否存在 if exist folder rmdir folder && mkdir folder 这是行不通的。既不将&替换为&,|,| 那么哪一种是正确的语法呢 操作系统:Windows 2012 Shell:cmd.exe* PS我可以接受基于PS的答案,只要满足两个条件。1) 它必须从cmd.exe开始2)如果遇到任何错误(如缺乏权限),它必须为cmd标准输出提供全部错误。既然您使用的是rmdir而没有/S开关,我假设感

什么样的语法允许我删除文件夹并创建它,而不管它以前是否存在

if exist folder rmdir folder && mkdir folder
这是行不通的。既不将
&
替换为
&
|
|

那么哪一种是正确的语法呢

操作系统: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"

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

mkdir "folder" 2> nul
当然,此变体维护所有文件夹属性和所有者


如果坚持要删除并重新创建文件夹,请使用以下方法:

rmdir "folder" 2> nul & mkdir "folder"
此变体将销毁所有文件夹属性和所有者


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

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

括号。告诉CMD您的命令中的内容
(如果存在文件夹rmdir folder)和(mkdir folder)
我想是这样的。
rmdir folder和mkdir folder
您不需要测试(它使用电池电源进行额外的磁盘访问,速度很慢)我假设文件夹为空或rmdir的语法错误请参见
rmdir/?
如果文件夹不为空,请使用
rd/s/q文件夹
这两种解决方案都非常有效!即使文件夹实际上是符号链接;)请将其转换为答案,以便我能接受它,并解释为什么单
&
和双
与所讨论的代码(为了完整起见)中的双和双对我也有效,唯一不同的是括号,它必须区分,以便仅检查第一个命令的存在性这起作用:(if exist folder rmdir folder)&&mkdir文件夹括号。告诉CMD您的命令中的内容
(如果存在文件夹rmdir folder)和(mkdir folder)
我想是这样的。
rmdir folder和mkdir folder
您不需要测试(它使用电池电源进行额外的磁盘访问,速度很慢)我假设文件夹为空或rmdir的语法错误请参见
rmdir/?
如果文件夹不为空,请使用
rd/s/q文件夹
这两种解决方案都非常有效!即使文件夹实际上是符号链接;)请将其转换为答案,以便我能接受它,并解释为什么单
&
和双
与所讨论的代码(为了完整起见)中的双和双对我也有效,唯一不同的是括号,它必须区分,以便仅检查第一个命令的存在性这起作用:(if exist folder rmdir folder)&&mkdir folderrouch。问题中的Well文件夹实际上是创建为“mklink/D”的符号链接。因此,始终可以使用rmdir删除它。但是如果没有什么东西要删除,rmdir会抱怨。这就是
2>nul
部分的目的——为了抑制
rmdir
的错误,以防……哎哟。问题中的Well文件夹实际上是创建为“mklink/D”的符号链接。因此,始终可以使用rmdir删除它。但是如果没有任何东西要删除,rmdir就会抱怨。这就是
2>nul
部分的目的——为了抑制
rmdir
的错误,以防。。。