使用bat打开出现找不到文件的情况,是因为cmd的路径和当前路径不一致导致的。最直接的解决办法就是使用命令将工作目录修改为bat文件启动的路径下。

问题描述

最近在封装一个项目,是师兄用abaqus写的,我负责做一个集成平台并进行界面设计。其中有一个功能就是通过界面你的按钮,唤醒bat文件,然后通过这个bat文件来打开相关文件。

但是,我出现的问题是不使用PyQt调用,使用鼠标双击这个bat命令可以打开,但是使用界面调用就是会报错,感觉真是个玄学问题。

Abaqus Error: The following file(s) could not be located

报错

问题分析

显然这个报错的意思是找不到文件,但是双击是可以正常运行的。说明大概率是这个bat批处理命令出现了问题。

可能是工作路径导致的。cmd不是在当前路径下执行的,所以会导致找不到文件的情况。

解决方法

在bat文件最开头一行加入cd /d %~dp0

这个命令的含义是:更改当前目录为批处理本身的目录。

  1. cd - 这是更改目录命令。

  2. /d - 此开关使cd一次更改驱动器和目录。没有它你就必须cd %~d0 & cd %~p0

  3. %~dp0 可以将其进一步分为三个部分:
    %0 - 这表示批处理脚本的第0个参数。它扩展为批处理文件本身的名称。
    %~0 - ~围绕扩展参数剥离双引号(")。
    %dp0 - dp有扩展的修饰符。 d强制添加驱动器号并p添加完整路径。

具体的操作


版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/qtAbaqusLocated.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
▶ 站长邮箱 [email protected][email protected] ,如不方便留言可邮件联系。

最后修改:2022 年 09 月 25 日
如果觉得我的文章对你有用,请随意赞赏