删除批处理文件夹中第n个文件的内容

时间:2015-06-03 13:22:22

标签: batch-file file-io

我有一个程序可以根据文件顺序处理视频文件,所以例如它调用文件夹中的第45或第10个文件,但是从不调用两次。现在,为了节省SSD空间,我想在保留文件本身的同时仅删除该第n个文件的内容。

1 个答案:

答案 0 :(得分:0)

批处理文件解决方案并不是很有趣,因为批处理无法真正计算或处理数组和索引,它需要像以下一样工作:设置计数器,列出文件,计算它们,何时计数匹配你想要的数字,做点什么。

@echo off
setlocal enabledelayedexpansion

set i=0

for %%f in (*) do (
  set /A i=!i!+1
  if !i! EQU 45 (
    echo overwriting %%f
    rem echo. > %%f 
  )    
)

rem使该行成为评论(备注),删除rem以使其实际覆盖文件。

请注意,这并不能优雅地处理子目录。