BAT 脚本统计当前文件夹下所有文件夹名称,输出到TXT文本中

图片[1]-BAT 脚本统计当前文件夹下所有文件夹名称,输出到TXT文本中 - 搜源站-搜源站

代码逐行解释

  1. @echo off
    • 这行代码的作用是关闭命令行窗口中命令的回显功能。如果不使用这行代码,在脚本执行过程中,每一条命令都会在命令行窗口中显示出来,使用 @echo off 后,只会显示脚本执行的结果,而不会显示具体执行的命令,让输出更加简洁。
  2. rem 设置输出文件的名称
    • rem 是批处理脚本中的注释命令,这行代码本身不会被执行,只是为了给后续阅读脚本的人提供一个说明,表明下面的代码是用来设置输出文件名称的。
  3. set "outputFile=folder_names.txt"
    • set 命令用于设置环境变量。这里设置了一个名为 outputFile 的环境变量,其值为 folder_names.txt,后续代码会使用这个变量来指定输出文件。
  4. rem 清空输出文件(如果存在)
    • 同样是注释,说明下面代码的功能是如果输出文件已经存在,就将其清空。
  5. if exist "%outputFile%" del "%outputFile%"
    • if exist 是一个条件判断语句,用于检查指定的文件或目录是否存在。这里检查 %outputFile% (即 folder_names.txt)是否存在,如果存在,就使用 del 命令将其删除。这样做的目的是确保每次运行脚本时,输出文件都是全新的,避免之前的内容干扰。
  6. rem 遍历当前文件夹下的所有文件夹
    • 注释,说明接下来的代码要遍历当前文件夹下的所有子文件夹。
  7. for /d %%i in (*) do (
    • for /d 是批处理脚本中用于遍历目录的循环命令。/d 选项表示只遍历目录(文件夹),而不处理文件。%%i 是循环变量,在每次循环中会依次代表当前文件夹下的一个子文件夹名称。(*) 表示匹配当前文件夹下的所有目录。do ( 表示循环体开始。
  8. echo %%i>>"%outputFile%"
    • echo 命令用于输出内容。这里将当前循环到的文件夹名称(即 %%i)输出,并通过 >> 符号将其追加到 %outputFile% (即 folder_names.txt)文件中。
  9. )
    • 表示 for 循环体结束。
  10. echo 文件夹名称已成功输出到 %outputFile%
    • 输出一条提示信息,告知用户文件夹名称已经成功输出到指定的文件中。
  11. 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
喜欢就支持一下吧
点赞654 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容