2013-06-29 175 views
1

我有一個文件夾,用於從csv文件導入值到Excel電子表格中。這意味着每天需要多次刪除和重命名批處理文件以使用提供的宏。我已經實現了刪除和重命名的自動化,但是我的批處理文件的刪除部分不僅僅是笨拙的,而且只能編碼爲20個文件。它看起來如下:基於文件名的批量刪除

del 1.csv 
del 2.csv 
etc 

我想循環批處理文件的一部分,但唯一的代碼,我發現基於文件擴展名刪除,而不是文件名。我想要刪除所有單個或兩位數字的命名CSV文件,並保留任何不是相同格式的CSV。任何幫助或指向資源將非常感激。

回答

1

我不完全理解,但我認爲你正在尋找的for /l命令:

for /l %%a in (1,1,[number for last file]) do del %%a.csv 

例如

for /l %%a in (1,1,10) do del %%a.csv 

將刪除1.csv到10.csv

希望這有助於

此致,蒙娜麗莎

1

試試這個 - 如果它呼應了正確的文件名,然後去除回聲。它應該刪除具有2或1個字符名稱的數字的CSV文件。

@echo off 
for /f "delims=" %%a in (' dir ??.csv /b ^|findstr /r "^[0-9]*" ') do echo del "%%a" 
1

要刪除一個數字文件:

for /L %%a in (0,1,9) do del %%a.csv 

要刪除兩位數的文件:

setlocal EnableDelayedExpansion 
set number=99 
for /L %%a in (1,1,100) do (
    set /A number+=1 
    del !number:~-2!.csv 
)