Octave CLI路径正确但无法找到.m脚本文件问题求助
问题原因
你的报错核心是当前工作路径包含Octave CLI无法正常识别的非ASCII/特殊字符:你执行pwd输出的路径中OneDrive后显示的?﹝是路径中原本的中文、Emoji或特殊符号在Octave默认编码下解析失败生成的乱码,Octave查找文件时将乱码识别为??,和实际路径不匹配,自然找不到目标m文件。
解决方案
方案1:更换无特殊字符的路径(最稳妥,优先推荐)
- 将整个
octave-lab文件夹移动到纯英文、无空格、无特殊符号的路径下,例如C:\GitHub\octave-lab\lab03 - 重新打开octave-cli,执行
cd C:\GitHub\octave-lab\lab03切换到新的工作路径 - 执行
question1即可正常运行脚本
方案2:修改Octave编码适配现有路径
- 打开octave-cli后先执行
feature('DefaultCharacterEncoding','UTF-8'),将默认字符编码改为UTF-8适配中文/特殊字符路径 - 执行
cd "你的OneDrive文件夹真实完整路径\GitHub\octave-lab\lab03",注意路径要用英文双引号包裹,填写你OneDrive文件夹的真实名称(不要使用pwd输出的乱码内容) - 再次执行
question1即可
额外注意事项
你的代码运行还需要满足以下前提,否则会触发其他报错:
- 当前工作路径下必须同时存在你自定义的
IE_Sampling.m、IE_Quant.m两个函数文件 - 当前工作路径下必须存在音频文件
demo.wav - 如果以上方案都无效,可以直接用绝对路径运行脚本:
run("C:\完整的无乱码路径\lab03\question1.m")
内容的提问来源于stack exchange,提问作者武士海
相关产品推荐
相关产品推荐

