【问题标题】:Delete files in a directory, one at a time一次删除一个目录中的文件
【发布时间】:2013-06-25 19:38:26
【问题描述】:

我想创建一个批处理文件,该文件将删除目录中具有特定扩展名的文件,一次一个,类似于

cd /D %Directory
FOR ???
    del *.myextension /Q  (but delete only one file, whichever it is)
    ping 192.0.2.2 -n 1 -1 1000 > nul (wait 1 second)

我该如何实现?

【问题讨论】:

    标签: batch-file cmd window wildcard delete-file


    【解决方案1】:

    以下代码不安全

    for %%i in (*.myextension) do (
        del /Q %%i
        ping 192.0.2.2 -n 1 -1 1000 > nul    
    )
    

    输出示例:

    >目录 /b abc.doc abc.docx >for %i in (*.doc) do @echo del "%~i" 删除“abc.doc” 删除“abc.docx”

    想象一下,您只会删除旧的 DOC 文件,而批处理也会杀死所有新的 DOCX 文件!


    您应该只取消我的安全代码

    >for %i in (*.doc) do @if /i "%~xi"==".doc" echo del "%~i" 删除“abc.doc”

    用于批处理文件:

    for %%i in (*.doc) do if /i "%%~xi"==".doc" echo del "%%~i"
    

    【讨论】:

      【解决方案2】:

      试试:

      for %%i in (*.myextension) do (
          del /Q %%i
          ping 192.0.2.2 -n 1 -1 1000 > nul    
      )
      

      【讨论】:

      • @Endoro 认真的 - 它符合 OP 的要求 - 无论它是不安全的,它们真的应该被删除,或者甚至应该 ping IP 地址由他们决定......
      • 你没有经验,所以如果你在这里发帖,那是你的风险,很可能犯错并承担后果。 OP的意义不重要,他不是职业选手。你应该删除你的答案。
      猜你喜欢
      • 1970-01-01
      • 2019-02-11
      • 2021-01-22
      • 2015-12-06
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 2011-07-15
      • 2020-01-27
      相关资源
      最近更新 更多