2013-06-25 24 views
0

我想創建一個批處理文件,將刪除與目錄中的,一次一個特定擴展名的文件,像刪除文件同時

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) 

我如何能實現這個?

回答

0

嘗試:

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

-1,看我的答案,請。 – Endoro

+1

@Endoro認真 - 它符合OP所要求的 - 它是不安全的,他們應該真的被刪除,或者甚至應該ping的IP地址是由他們決定的...... –

+1

你沒有經驗,所以如果你張貼在這裏這是你的風險,一個高度的錯誤,並採取後果。 OP的含義並不重要,他不是專業人士。你應該刪除你的答案。 – Endoro

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文件!


您應該只有我安全的代碼 UNS:

 
>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"