![图片[1]-BAT 脚本统计当前文件夹下所有文件夹名称,输出到TXT文本中 - 搜源站-搜源站](https://www.souyuanzhan.com/wp-content/uploads/2025/02/5cbee7087b20250226201825.webp)
代码逐行解释
@echo off
- 这行代码的作用是关闭命令行窗口中命令的回显功能。如果不使用这行代码,在脚本执行过程中,每一条命令都会在命令行窗口中显示出来,使用
@echo off
后,只会显示脚本执行的结果,而不会显示具体执行的命令,让输出更加简洁。
- 这行代码的作用是关闭命令行窗口中命令的回显功能。如果不使用这行代码,在脚本执行过程中,每一条命令都会在命令行窗口中显示出来,使用
rem 设置输出文件的名称
rem
是批处理脚本中的注释命令,这行代码本身不会被执行,只是为了给后续阅读脚本的人提供一个说明,表明下面的代码是用来设置输出文件名称的。
set "outputFile=folder_names.txt"
set
命令用于设置环境变量。这里设置了一个名为outputFile
的环境变量,其值为folder_names.txt
,后续代码会使用这个变量来指定输出文件。
rem 清空输出文件(如果存在)
- 同样是注释,说明下面代码的功能是如果输出文件已经存在,就将其清空。
if exist "%outputFile%" del "%outputFile%"
if exist
是一个条件判断语句,用于检查指定的文件或目录是否存在。这里检查%outputFile%
(即folder_names.txt
)是否存在,如果存在,就使用del
命令将其删除。这样做的目的是确保每次运行脚本时,输出文件都是全新的,避免之前的内容干扰。
rem 遍历当前文件夹下的所有文件夹
- 注释,说明接下来的代码要遍历当前文件夹下的所有子文件夹。
for /d %%i in (*) do (
for /d
是批处理脚本中用于遍历目录的循环命令。/d
选项表示只遍历目录(文件夹),而不处理文件。%%i
是循环变量,在每次循环中会依次代表当前文件夹下的一个子文件夹名称。(*)
表示匹配当前文件夹下的所有目录。do (
表示循环体开始。
echo %%i>>"%outputFile%"
echo
命令用于输出内容。这里将当前循环到的文件夹名称(即%%i
)输出,并通过>>
符号将其追加到%outputFile%
(即folder_names.txt
)文件中。
)
- 表示
for
循环体结束。
- 表示
echo 文件夹名称已成功输出到 %outputFile%
- 输出一条提示信息,告知用户文件夹名称已经成功输出到指定的文件中。
pause
- 暂停脚本的执行,等待用户按下任意键后才会关闭命令行窗口。这可以让用户有时间查看提示信息。
可能的改进方向
- 添加错误处理:可以添加一些错误处理逻辑,例如在删除文件或写入文件时如果出现错误,给出相应的提示。
- 显示更多信息:除了文件夹名称,还可以输出文件夹的创建时间、修改时间等信息。
- 支持递归遍历:当前脚本只遍历当前文件夹下的一级子文件夹,如果需要递归遍历所有子文件夹,可以修改
for
循环的参数。
@echo off
rem 设置输出文件的名称
set "outputFile=folder_names.txt"
rem 清空输出文件(如果存在)
if exist "%outputFile%" del "%outputFile%"
rem 遍历当前文件夹下的所有文件夹
for /d %%i in (*) do (
rem 将文件夹名称追加到输出文件中
echo %%i>>"%outputFile%"
)
echo 文件夹名称已成功输出到 %outputFile%
pause
登录后可以使用不限速网盘下载
© 版权声明
THE END
暂无评论内容