我有一个文件夹,用于将 csv 文件中的值导入 Excel 电子表格。这意味着我每天需要多次删除和重命名文件批次以使用提供的宏。我已经自动化了删除和重命名,但是我的批处理文件的删除部分有点笨拙,并且只编码为 20 个文件。它看起来如下:
del 1.csv
del 2.csv
etc
我想循环批处理文件的这一部分,但我发现的唯一代码是根据文件扩展名而不是文件名删除的。我想要的是删除所有单位或双位命名的 csv 文件,并保留任何格式不同的 csv。任何帮助或指向资源将不胜感激。
我有一个文件夹,用于将 csv 文件中的值导入 Excel 电子表格。这意味着我每天需要多次删除和重命名文件批次以使用提供的宏。我已经自动化了删除和重命名,但是我的批处理文件的删除部分有点笨拙,并且只编码为 20 个文件。它看起来如下:
del 1.csv
del 2.csv
etc
我想循环批处理文件的这一部分,但我发现的唯一代码是根据文件扩展名而不是文件名删除的。我想要的是删除所有单位或双位命名的 csv 文件,并保留任何格式不同的 csv。任何帮助或指向资源将不胜感激。
要删除一位数文件:
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
)
我不完全理解,但我认为您正在寻找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
希望这有帮助
你的,莫娜
试试这个 - 如果它回显正确的文件名,然后删除回显。它应该删除具有 2 个或 1 个字符名称的 CSV 文件,即数字。
@echo off
for /f "delims=" %%a in (' dir ??.csv /b ^|findstr /r "^[0-9]*" ') do echo del "%%a"