gpt4 book ai didi

python - 确保从 Excel 运行批处理文件时在 cmd.exe 中使用相对路径

转载 作者:行者123 更新时间:2023-11-30 23:49:24 25 4
gpt4 key购买 nike

我有一个 Excel 文件,其中有一个在 VB 中调用 Shell 命令的按钮:

Shell(ThisWorkbook.Path & "\python_script.bat", vbNormalFocus)

Shell 命令调用上面运行 Python 脚本的批处理文件:

python python_script.py

所有相关文件(Excel文件、批处理文件、数据文件、Python文件)都位于同一目录中,称之为sample_program ,因为我正在为其他人构建这个,我想让他们简单地解压缩并运行它。

在 Excel 中,测试此功能时,我单击按钮,然后收到此错误:

C:\Users\<user_name>\Documents>python python_script.py
python: can't open file 'python_script.py': [Errno 2] No such file or directory

由于某种原因,尽管所有这些文件都位于同一位置,但 cmd.exe 正在从我的用户目录运行:C:\Users\<user_name>\Documents

我不希望 cmd.exe 使用此路径;我希望它使用path\to\sample_program目录。

如何让它使用相对路径,以便当我将此文件夹传输给其他人,并且他们将其放置在任何地方时,它将作为一个独立的单元工作?

最佳答案

如果 path\to\sample_program 与您的主驱动器位于同一驱动器上,请尝试此操作

Shell "cmd.exe /k cd " & ThisWorkbook.Path & "&&python_script.bat"

或者如果path\to\sample_program不在与您的主驱动器位于同一驱动器上,或者您事先不知道

Shell "cmd.exe /k " & Left(ThisWorkbook.Path, 2) & "&&cd " & ThisWorkbook.Path & "&&python_script.bat"

关于python - 确保从 Excel 运行批处理文件时在 cmd.exe 中使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7668942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com