如何在 Windows 中使用 BAT 脚本批量提取文件名

在 Windows 操作系统中,有时我们需要批量提取文件的名称,例如在整理大量文档、图片或其他文件时,手动逐个记录文件名既繁琐又容易出错。而使用 BAT 脚本则可以高效地完成这一任务。以下是介绍与脚本示例。

如何在 Windows 中使用 BAT 脚本批量提取文件名-游包技术栈

创建 BAT 脚本文件

首先,在需要提取文件名的文件夹内的空白处,点击鼠标右键,选择 “新建”->“文本文档”。将新建的文本文档重命名为一个有意义的名称,比如 “ExtractFilenames.bat”(注意要确保文件后缀名确实为 “.bat”,如果没有显示后缀名,需要在文件夹选项中设置显示已知文件类型的扩展名)。

编写 BAT 脚本代码

使用记事本或其他文本编辑器打开刚刚创建的 “ExtractFilenames.bat” 文件,然后输入以下代码:

仅提取文件名脚本

@echo off
setlocal enabledelayedexpansion
REM 设置输出文件路径和名称,可根据需求修改
set "outputFile=filenames.txt"
REM 循环遍历当前目录下的所有文件
for %%f in (*) do (
    REM 获取文件名并写入到输出文件中
    echo %%~nf>>%outputFile%
)
echo 文件名提取完成!

代码解释

  • @echo off” 表示关闭命令行回显,使脚本运行时不会显示过多不必要的命令信息。
  • setlocal enabledelayedexpansion” 启用延迟环境变量扩展,这在处理一些复杂的变量操作时非常有用。
  • set “outputFile=filenames.txt”” 定义了输出文件名的名称为 “filenames.txt”,如果想要更改输出文件名,可以修改这里的 “filenames.txt” 部分。
  • for %% f in (*) do…” 是一个循环结构,用于遍历当前目录下的所有文件。“%%~nf” 表示获取文件的名称(不包含扩展名),然后将其追加写入到 “% outputFile%”(即前面定义的 “filenames.txt”)文件中。

提取文件名和文件夹名脚本

@echo off
setlocal enabledelayedexpansion
REM 设置输出文件路径和名称,可根据需求修改
set "outputFile=names.txt"
REM 先提取文件夹名
for /d %%d in (*) do (
    REM 获取文件夹名并写入到输出文件中
    echo %%~nd>>%outputFile%
)
REM 提取文件名
for %%f in (*) do (
    REM 获取文件名并写入到输出文件中
    echo %%~nf>>%outputFile%
)
echo 名称提取完成!

在这个脚本中,for /d %%d in (*) do 这个循环专门用于遍历当前目录下的所有文件夹,并提取其名称(不含扩展名)写入到输出文件中。然后原有的 for %%f in (*) do 循环负责提取文件名并写入同一输出文件,这样最终生成的 names.txt 文件中就会包含当前目录下的文件夹名和文件名的列表。

运行 BAT 脚本

保存好编写的 “ExtractFilenames.bat” 脚本文件后,双击运行它。此时,脚本会自动遍历当前文件夹中的所有文件,并将文件名(不含扩展名)提取出来,依次写入到 “filenames.txt” 文件中。当脚本运行结束后,会在命令行窗口显示 “文件名提取完成!” 的提示信息。

打开 “filenames.txt” 文件,就可以看到批量提取出来的文件名列表了。

通过这个简单的 BAT 脚本,在 Windows 系统中就能够轻松地批量提取文件名,大大提高了处理文件相关任务的效率,无论是对于文件管理、数据整理还是其他需要文件名信息的场景都非常实用。

成品附件

本栈所有资源仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
© 版权声明
THE END
如果觉得本文对你有帮助,那就帮忙点个赞吧!
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容