如何通过Batch/CMD将文件名与自定义预设链接拼接保存至.txt文件
可以实现,以下是两种Windows环境下的常用实现方案:
方案1:CMD单行命令直接执行
适合临时用一次的场景,直接在CMD窗口运行以下命令即可:
for /f "delims=" %a in ('dir /B %userprofile%\Desktop\folder\*.7z') do @echo https://website/s1/2291817181/918291918/%a >> download_links.txt
参数说明:
- 末尾的
*.7z用来仅筛选7z格式的文件,避免把文件夹内其他无关文件生成到链接列表里 delims=用于避免文件名带空格时被截断,确保完整读取文件名- 命令中的固定前缀链接可以替换为你实际的业务链接
- 最终生成的
download_links.txt文件就是全部拼接完成的完整下载链接列表
方案2:批处理脚本一键生成
适合需要频繁操作的场景,打包成脚本后双击就能运行:
- 新建空白文本文档,复制以下代码粘贴进去:
@echo off :: 替换为你的实际固定前缀链接 set "prefix=https://website/s1/2291817181/918291918/" :: 替换为你存放7z文件的目标文件夹路径 set "source_dir=%userprofile%\Desktop\folder" :: 最终输出的链接文件名 set "output_file=download_links.txt" :: 先清空已存在的旧输出文件 if exist "%output_file%" del "%output_file%" :: 遍历所有7z文件拼接生成链接 for /f "delims=" %%a in ('dir /B "%source_dir%\*.7z"') do ( echo %prefix%%%a >> "%output_file%" ) echo 下载链接已全部生成,保存路径:%output_file% pause
- 把文本文档的后缀名从
.txt改成.bat,之后只要双击这个bat文件就能自动生成链接文件。
注意:批处理脚本的for循环变量需要写两个百分号
%%a,和CMD单行命令的单个百分号写法有区别,不要写错。
小提示:如果你的文件名包含&、!等特殊符号,需要在批处理开头加上
setlocal enabledelayedexpansion,同时把拼接链接的行改成echo !prefix!%%a >> "%output_file%"即可正常识别。
内容的提问来源于stack exchange,提问作者Marijan
相关产品推荐
相关产品推荐

