Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批量删除精确的文件扩展名_Batch File - Fatal编程技术网

Batch file 批量删除精确的文件扩展名

Batch file 批量删除精确的文件扩展名,batch-file,Batch File,我在同一个文件夹中有.blk和.blkx文件,当然我只想删除.blk文件。我尝试了在as上找到的示例,如del“\folder\*.blk”/s。我设法删除了所选的文件,但是.blkx文件也被删除了(其他文件没有删除,所以我认为这两个文件的扩展名都有.blk的问题) 如何仅选择.blk文件 编辑:我不知道为什么这篇文章被标记为重复的,但是上面的固定文章并不能解决这个问题(我已经说过不能工作了)您必须在该驱动器上启用(短文件名),并且.blkx扩展名映射到短8.3文件名中的.blk。因此,*.bl

我在同一个文件夹中有.blk和.blkx文件,当然我只想删除.blk文件。我尝试了在as上找到的示例,如
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
来不区分大小写地匹配…