如何用批处理将文件夹内所有mkv文件替换为同名空文本文件
解答
完全可以通过批处理结合copy /b NUL命令实现需求,不需要安装额外工具。
实现逻辑
- 递归遍历目标根目录下所有子文件夹内的
.mkv格式文件 - 逐个删除原有的mkv文件
- 对每个被删除的mkv,直接调用
copy /b NUL命令生成对应同名的0字节空文件即可,不需要提前创建模板空文件。
可直接使用的批处理代码
将以下内容保存为后缀为.bat的文件,放到你存放所有mkv文件夹的根目录下,双击运行即可:
@echo off for /r %%i in (*.mkv) do ( del "%%i" :: 若需要生成同主名的txt格式空文件,将下一行的"%%i"替换为"%%~dpni.txt"即可 copy /b NUL "%%i" >nul ) echo 所有文件处理完成 pause
代码说明
for /r是批处理原生的递归遍历语法,会自动扫描当前目录下所有层级子文件夹内的匹配文件,不会遗漏%%i代表遍历到的每个mkv文件的完整绝对路径,外层加双引号是为了兼容带空格、特殊字符的文件名- 末尾的
>nul用来屏蔽copy命令默认输出的“已复制 1 个文件”提示,避免命令行窗口刷大量无用信息 - 注释里已经标注了如果需要生成
.txt后缀空文件的修改方式,按需调整即可。
内容的提问来源于stack exchange,提问作者Anthony Irwin
相关产品推荐
相关产品推荐

