Windows批处理:ForFiles命令生成的sizes.txt文件位置在哪?
问题分析:第一条命令的sizes.txt去向
核心原因
第一条命令中,>> sizes.txt 是嵌套在 ForFiles 启动的子 cmd 进程里执行的——每个匹配到的文件所在的目录,都会单独生成一个 sizes.txt 文件,而不是统一输出到你执行命令的桌面目录。
具体逻辑:
ForFiles遍历到符合条件的文件时,会在该文件的目录下启动一个cmd进程,执行echo @FSIZE >> sizes.txt- 如果同一个目录下有多个符合条件的文件,该目录的
sizes.txt会追加写入所有这些文件的大小 - 不同目录的匹配文件,会各自在所属目录生成独立的
sizes.txt
为什么你没找到?
如果已经搜索了目标文件夹及子目录仍未找到,可能是以下情况:
- 权限限制:部分子目录没有写入权限,
cmd无法创建sizes.txt,且不会返回错误提示 - 搜索范围遗漏:比如未包含隐藏目录,或者搜索时未勾选“包含子文件夹”选项
- 文件极小被忽略:单个
sizes.txt仅包含数字,文件体积很小,可能在搜索结果中被遗漏
对比第二条命令
第二条命令把 > sizes.txt 放在 ForFiles 命令外部,是将 ForFiles 所有子进程的输出统一重定向到当前目录(桌面)的 sizes.txt,所以能直接找到。
内容的提问来源于stack exchange,提问作者Teejay
相关产品推荐
相关产品推荐

