Batch file 批量删除基于文件名的数据库
我有一个文件夹,用于将csv文件中的值导入excel电子表格。这意味着我每天需要多次删除和重命名文件批次,才能使用提供的宏。我已经自动删除和重命名了,但是我的批处理文件的删除部分有点笨拙,而且只编码为可以处理20个文件。情况如下:Batch file 批量删除基于文件名的数据库,batch-file,Batch File,我有一个文件夹,用于将csv文件中的值导入excel电子表格。这意味着我每天需要多次删除和重命名文件批次,才能使用提供的宏。我已经自动删除和重命名了,但是我的批处理文件的删除部分有点笨拙,而且只编码为可以处理20个文件。情况如下: del 1.csv del 2.csv etc 我想循环批处理文件的这一部分,但我发现的唯一代码是根据文件扩展名而不是文件名删除的。我想删除所有单位或双位命名的csv文件,并保留任何格式不同的csv。非常感谢您提供的任何帮助或指向资源。我不完全理解,但我认为您正在寻
del 1.csv
del 2.csv
etc
我想循环批处理文件的这一部分,但我发现的唯一代码是根据文件扩展名而不是文件名删除的。我想删除所有单位或双位命名的csv文件,并保留任何格式不同的csv。非常感谢您提供的任何帮助或指向资源。我不完全理解,但我认为您正在寻找/l的
命令:
for /l %%a in (1,1,[number for last file]) do del %%a.csv
e、 g
将从1.csv删除到10.csv
希望这有帮助
你的,Mona试试这个-如果它回显了正确的文件名,那么删除回显。它应该删除具有2个或1个字符名称(即数字)的CSV文件
@echo off
for /f "delims=" %%a in (' dir ??.csv /b ^|findstr /r "^[0-9]*" ') do echo del "%%a"
要删除一位数的文件,请执行以下操作:
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 %%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
)