'PermissionError:[Errno 13]使用批处理文件运行Python脚本后权限被拒绝'

问题描述

我使用BAT文件在引导时运行一个python脚本。手动通过CMD运行该脚本不会产生任何问题。但是,使用BAT文件执行它会产生权限错误,脚本应该在其中截取屏幕截图并保存它。

我尝试使用不同的模块拍摄照片,认为这就是问题所在-但没有帮助。我还授予了管理员权限,但这也无济于事。

这里是BAT文件:

"C:Users
amepython.exe" "C:Users
ameun.py" pause

以下是python代码中有问题的行:

image = ImageGrab.grab()
image.save('C:\full\path\to\screen.png')

和错误:

PermissionError: [Errno 13] Permission denied: 'C:\Path\to\screen.png

预期代码在批处理文件中运行时不会出错,因为它是手动执行的。

谢谢您。


解决方案

我使用任务计划程序时遇到了同样的问题。我尝试了/AND和其他选项,但仍然有问题。对我起作用的是用cd进入包含BAT文件的目录。

以前,我的.bat文件只是:

python "C:path	osomedirectoryun.py"

我将.bat文件更新为:

cd "C:path	osomedirectory"
python run.py

希望这对遇到此问题的其他人有所帮助。

相关文章