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

如何将目录中多文件名拼接为可执行命令字符串?

生成指定格式的命令字符串方法

Linux/macOS(Shell环境)

直接执行命令

利用Shell通配符快速匹配文件,直接运行命令:

./<executable> * <outputfile>
  • *会匹配当前目录下所有非隐藏文件,自动替换为文件名列表。
  • 若需包含隐藏文件(以.开头的文件),先启用dotglob选项再执行:
shopt -s dotglob
./<executable> * <outputfile>

生成命令字符串并保存

如果需要先把命令保存为字符串(比如后续复用),推荐用printf处理文件名(避免空格、特殊字符导致的问题):

# 生成命令字符串
cmd="./<executable> $(printf "%s " *) <outputfile>"
# 执行命令
eval "$cmd"

Windows 命令提示符(CMD)

直接执行命令

利用通配符匹配当前目录所有非隐藏文件:

<executable> * <outputfile>

生成命令字符串(支持包含隐藏文件)

通过循环拼接文件名(需开启延迟变量扩展):

@echo off
setlocal enabledelayedexpansion
set "files="
for /f "delims=" %%f in ('dir /b /a-d') do set "files=!files! %%f"
<executable> !files! <outputfile>
endlocal
  • /a-d表示排除目录,包含所有文件(含隐藏文件);若只需非隐藏文件,改为/a-h。

Windows PowerShell

直接执行命令

利用Get-ChildItem获取文件列表,自动处理带空格的文件名:

& .\<executable> (Get-ChildItem -File) .\<outputfile>
  • 若需包含隐藏文件,添加-Force参数:
& .\<executable> (Get-ChildItem -File -Force) .\<outputfile>

生成命令字符串

# 获取所有文件名并拼接
$files = (Get-ChildItem -File | ForEach-Object { $_.Name }) -join ' '
# 生成命令字符串
$cmd = ".\<executable> $files .\<outputfile>"
# 执行命令
Invoke-Expression $cmd

内容的提问来源于stack exchange,提问作者len

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:25:15