【问题标题】:How to silently delete files with a bat file如何使用 bat 文件静默删除文件
【发布时间】:2013-12-08 04:12:10
【问题描述】:
del /s .jpg

删除所有 .jpgs .. 但问题是:它在执行时显示在 cmd =>
C:\blabla..\this.jpg 被删除..

我想关闭它。这样用户就不会知道发生了什么(即正在删除哪些文件)。

【问题讨论】:

标签: batch-file command-line command-line-arguments


【解决方案1】:

关闭 echo 以禁止显示正在运行的命令,并按照 @Sico 的建议将输出重定向到 null。

@echo off
del /s *.jpg  >nul 2>&1

运行 bat 文件时,您应该不会看到任何显示。

【讨论】:

    【解决方案2】:

    在 jammykam 的回答中,他使用了>nul 2>&1。这样做是将标准输出和标准错误都重定向到空设备。但是,隐藏标准错误并不是最佳做法,只有在必要时才应该这样做。

    @echo off
    del /s *.jpg 1>nul
    

    在此示例中,1>nul 仅隐藏标准输出,但仍会显示标准错误。如果del删除部分文件失败,会通知你。

    Read more about redirection

    【讨论】:

      【解决方案3】:

      尝试将其放在批处理脚本的顶部: @echo 关闭

      【讨论】:

      • 为什么我被否决了?比我晚的另一个人给出了相同的答案,但被赞成:)
      • 好吧,我没有对你投反对票。但是在这种情况下,@echo off 真的什么都不做。并感谢您的第一次回复。 :)
      • 另一个答案也是关于将输出重定向到 null。 @echo off 确实隐藏了调用,但没有隐藏输出。
      • 是的,>nul 是我的问题的答案,我已经在我的程序中使用了@echo off。但这并没有隐藏输出。 (但我应该提到这一点。)它只隐藏命令。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2023-03-31
      • 2021-06-29
      • 2013-06-13
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      相关资源
      最近更新 更多