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

如何在Julia中调用Windows CMD命令?执行dir命令出现ENOENT错误的问题排查

解决Windows下Julia调用CMD内置命令报错的问题

这个问题的核心原因很清晰:dir是Windows CMD shell的内置命令,并非独立的可执行文件。Julia的run()函数默认会把反引号中的内容当作可执行程序路径去查找,自然找不到dir这个文件,因此抛出ENOENT错误。

要让Julia正确识别并执行CMD内置命令,你需要通过调用cmd.exe来间接执行这些命令,具体方案如下:

方法1:执行单条CMD内置命令

使用cmd /c参数指定要执行的命令,其中/c的作用是执行完命令后自动关闭CMD进程:

mycommand = `cmd /c dir`
run(mycommand)

这样Julia会启动cmd.exe进程,并让它执行dir命令,就能正常输出当前目录的内容了。

方法2:执行多条CMD命令

如果需要一次性执行多个CMD命令,可以用&分隔不同命令:

mycommand = `cmd /c dir & echo 目录列表已输出完毕`
run(mycommand)

拓展:执行PowerShell内置命令

如果要使用PowerShell的内置命令(比如Get-ChildItem),可以用类似方式调用powershell.exe:

mycommand = `powershell -Command Get-ChildItem`
run(mycommand)

补充说明:在Linux或macOS系统中,ls这类命令是独立的可执行文件,所以直接用run(ls)就能生效,但Windows的内置命令必须依赖CMD或PowerShell外壳来执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 05:22:38