问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用 BAT 批处理脚本在 Windows 中批量提取文件名

创作时间:
作者:
@小白创作中心

使用 BAT 批处理脚本在 Windows 中批量提取文件名

引用
1
来源
1.
https://m.jianlu365.com/info/1092.html

在Windows操作系统中,批处理脚本(Batch Script,简称.bat文件)是一种强大的工具,可以自动执行复杂的任务,如文件管理、系统配置等。对于需要频繁处理大量文件的用户来说,掌握如何使用批处理脚本批量提取文件名将大大提高工作效率。

在Windows操作系统中,批处理脚本(Batch Script,简称.bat文件)是一种简单的文本文件,包含一系列命令行指令。这些指令可以自动执行复杂的任务,如文件管理、系统配置等。对于需要频繁处理大量文件的用户来说,编写一个批处理脚本来批量提取文件名是非常有用的。本教程将指导您如何创建和使用这样的脚本。

准备工作

某些操作可能需要以管理员身份运行批处理脚本。

确定要从中提取文件名的文件夹路径。

决定将提取的文件名保存到哪里以及采用何种格式(例如纯文本文件或CSV文件)。

创建 BAT 批处理脚本

打开记事本或其他文本编辑器:这是编写批处理脚本的第一步。您可以直接从开始菜单搜索“记事本”并打开它。

下面是一个简单的批处理脚本示例,它会遍历指定目录中的所有文件,并将其名称(不带扩展名)写入一个名为 filenames.txt 的文件中。

@echo off  
setlocal enabledelayedexpansion  
REM 设置源文件夹路径  
set "source_folder=C:\path\to\your\folder"  
REM 设置输出文件路径  
set "output_file=C:\path\to\output\filenames.txt"  
REM 清空或创建输出文件  
> "%output_file%" echo.  
REM 遍历文件夹内的所有文件  
for %%f in ("%source_folder%\*") do (  
REM 提取文件名不带扩展名  
set "filename=%%~nf"  
REM 如果不是文件夹,则写入文件名到输出文件  
if not "%%~af"=="d" (  
echo !filename! >> "%output_file%"  
)  
)  
echo 文件名提取完成!  
pause  

自定义参数:

替换 C:\path\to\your\folder 为实际的目标文件夹路径。

修改 C:\path\to\output\filenames.txt 以指定向何处保存结果文件。

将上述代码复制粘贴到记事本中后,点击“文件” -> “另存为”,然后选择所有文件类型,并将文件命名为 extract_filenames.bat 或其他你喜欢的名字,但确保扩展名为 .bat。

运行批处理脚本

最简单的方法是直接双击刚刚创建的 .bat 文件。这将启动批处理程序并按照脚本中的指示进行操作。如果遇到权限问题或希望确保脚本拥有足够的权利来访问所有文件,请右键单击 .bat 文件并选择“以管理员身份运行”。

也可以通过命令提示符窗口手动输入批处理脚本的位置来运行它。这样做的好处是可以更灵活地控制环境变量和其他设置。

扩展功能

如果您想要进一步增强这个脚本的功能,比如支持子文件夹、排除特定类型的文件、添加时间戳等,可以通过以下方式实现:

递归遍历子文件夹:使用 /R 参数与 FOR 循环结合,可以递归地处理整个树状结构。

for /R "%source_folder%" %%f in (*) do (  
...  
)  

过滤文件类型:可以在 FOR 循环条件中加入额外的筛选规则,如只处理 .txt 文件。

for %%f in ("%source_folder%\*.txt") do (  
...  
)  

添加时间戳:使用 %date% 和 %time% 变量可以在每条记录前加上当前日期和时间信息。

echo !date! !time! - !filename! >> "%output_file%"  

通过以上步骤,您已经学会了如何编写一个简单的批处理脚本来批量提取文件名。根据具体需求调整脚本内容,可以使您的工具更加个性化和强大。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号