Batch file 批量删除精确的文件扩展名
我在同一个文件夹中有.blk和.blkx文件,当然我只想删除.blk文件。我尝试了在as上找到的示例,如Batch file 批量删除精确的文件扩展名,batch-file,Batch File,我在同一个文件夹中有.blk和.blkx文件,当然我只想删除.blk文件。我尝试了在as上找到的示例,如del“\folder\*.blk”/s。我设法删除了所选的文件,但是.blkx文件也被删除了(其他文件没有删除,所以我认为这两个文件的扩展名都有.blk的问题) 如何仅选择.blk文件 编辑:我不知道为什么这篇文章被标记为重复的,但是上面的固定文章并不能解决这个问题(我已经说过不能工作了)您必须在该驱动器上启用(短文件名),并且.blkx扩展名映射到短8.3文件名中的.blk。因此,*.bl
del“\folder\*.blk”/s
。我设法删除了所选的文件,但是.blkx文件也被删除了(其他文件没有删除,所以我认为这两个文件的扩展名都有.blk的问题)
如何仅选择.blk文件
编辑:我不知道为什么这篇文章被标记为重复的,但是上面的固定文章并不能解决这个问题(我已经说过不能工作了)您必须在该驱动器上启用(短文件名),并且.blkx
扩展名映射到短8.3文件名中的.blk
。因此,*.blk
同时返回.blk
和blkx
文件。要区分它们,您需要运行for
循环,检查实际扩展名,并分别删除每个.blk
for %%b in (*.blk) do @(if /I "%%~xb" == ".blk" echo del "%%~b")
从上面删除echo
,以实际删除.blk
文件
要递归到子目录(如del/s
),请使用for/r
而不是for
命令编写为在批处理文件中使用(根据问号)。要在命令提示下运行它,请将双百分比
%%b
替换为单个百分比%b
,您应该使用if/I
来不区分大小写地匹配…