You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用批处理在所有目录及子目录中创建指定内容的文本文件?

解决递归创建readme.txt到所有子目录的问题

先给你捋清楚为啥之前的命令不管用:for /D 只会扫描当前目录下的一级子文件夹,不会递归深入到更下层的嵌套目录,所以像 C:/movies/thumbnail/hd 这种深层目录根本覆盖不到。

下面给你两个靠谱的解决方案,都能自动处理所有层级的目录:

方案1:先准备好readme.txt再递归复制

先在当前命令行所在的目录里创建好 readme.txt(内容写 downloaded-from-xyz.com),然后用for /R命令递归遍历所有子目录并复制文件:

  • 如果是直接在命令提示符里执行:
for /R C:\movies %x in (.) do copy readme.txt "%x"
  • 如果是写在**批处理脚本(.bat)**里,要把变量的单百分号改成双百分号(批处理的语法要求):
for /R C:\movies %%x in (.) do copy readme.txt "%%x"

方案2:直接在每个目录生成文件(无需预先准备readme.txt)

这个更省事,不用提前创建文件,直接用echo命令在每个目标目录生成readme.txt并写入指定内容:

  • 命令提示符版本:
for /R C:\movies %x in (.) do echo downloaded-from-xyz.com > "%x\readme.txt"
  • 批处理脚本版本:
for /R C:\movies %%x in (.) do echo downloaded-from-xyz.com > "%%x\readme.txt"

额外提示:

  • for /R C:\movies 的作用是从C:\movies根目录开始,递归遍历所有子目录;(.)用来匹配每个目录本身,%x(或%%x)会被替换成每个目录的完整路径。
  • 给路径加上引号"%x"是为了兼容未来可能出现的带空格的目录名,避免命令报错。
  • 如果遇到已存在的readme.txt,上述命令会直接覆盖原有文件;要是不想覆盖,可以把copy命令改成 copy /-y readme.txt "%x"(会提示是否覆盖),或者把>改成>>(变成追加模式,不会覆盖原有内容)。

内容的提问来源于stack exchange,提问作者Sadam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 05:17:45