删除目录中的文件,一次删除一个文件

时间:2013-06-25 19:38:27

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

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

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)

我该如何实现?

2 个答案:

答案 0 :(得分:1)

以下代码不安全

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

Outputexample:

>dir /b
abc.doc
abc.docx

>for %i in (*.doc) do @echo del "%~i"
del "abc.doc"
del "abc.docx"

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


您应该只使用我的 安全代码

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

用于批处理文件:

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

答案 1 :(得分:0)

尝试:

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