You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写Windows批处理文件为dir输出的文件名添加指定路径前缀的方法

编写Windows批处理文件为dir输出的文件名添加指定路径前缀的方法

当然可以解决这个问题!你需要的是给dir /b /a-d输出的每个文件名手动加上指定的路径前缀,而不是用dir /s/b生成的绝对路径。这里有几种实用的批处理方案:

方法一:使用FOR循环遍历文件名(最推荐)

这是最灵活且兼容性好的方式,能完美处理带空格的文件名(虽然你的例子里没有,但提前规避问题总是好的):

@echo off
:: 定义你需要的路径前缀
set "target_prefix=\\jdeappp03\EDI\"

:: 遍历当前目录下所有非目录的txt文件,输出带前缀的路径
for /f "delims=" %%f in ('dir /b /a-d *.txt') do (
    echo %target_prefix%%%f
)

:: 如果需要将结果保存到文件,把上面的echo改成下面这行即可
:: echo %target_prefix%%%f >> file_list.txt

代码说明:

  • @echo off:关闭命令行的回显,让输出更整洁
  • set "target_prefix=...":把你需要的路径前缀定义成变量,后续修改更方便
  • for /f "delims=" %%f in ('dir /b /a-d *.txt'):遍历dir /b /a-d *.txt输出的每一个文件名,delims=确保文件名带空格时不会被拆分
  • echo %target_prefix%%%f:拼接前缀和文件名并输出,如果要保存到文件就用重定向>>追加到目标文件

运行这个批处理后,就能得到你想要的输出格式:

\\jdeappp03\EDI\850_B_4545703_.txt
\\jdeappp03\EDI\850_B_003029660_.txt
\\jdeappp03\EDI\850_B_069029548_.txt
\\jdeappp03\EDI\850_B_188789_.txt
\\jdeappp03\EDI\850_C_ENT_1712865_.txt
\\jdeappp03\EDI\850_C_ENT_1712871_.txt
\\jdeappp03\EDI\850_C_1712877_.txt

方法二:使用PowerShell辅助(可选)

如果你的系统允许使用PowerShell,也可以用一行命令快速实现:

Get-ChildItem -File -Name *.txt | ForEach-Object { "\\jdeappp03\EDI\$_" }

把这行命令放到批处理里的话,可以写成:

@echo off
powershell -Command "Get-ChildItem -File -Name *.txt | ForEach-Object {'\\jdeappp03\EDI\$_'}"

不过考虑到你明确提到要使用批处理文件,第一种FOR循环的方法会更稳妥,不需要依赖PowerShell环境。

备注:内容来源于stack exchange,提问作者Kram_Koorbse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:59:12