python - 无法使用带有批处理文件的 Windows 命令行运行脚本
问题描述
环境是正确的,但它没有找到我的程序。
我的 python 程序的代码,使用 Visual Studio 2017 创建,位于此处:
C:\Users\Alex\Python Programs\pw\pw
.
#! python3
# pw.py - An insecure password locker program.
PASSWORDS = {'email': 'f7nsdkfn2BDD3fkjTXjs6Fjsn',
'blog': 'fdkNc32NskNskKslLI321n',
'luggage': 12345}
import sys, pyperclip
if len(sys.argv) < 2:
print("Usage: python pw.py [account] - copy account password")
sys.exit()
account = sys.argv[1] # first command line arg is the account name
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print("Password for " + account + " copied to clipboard")
else:
print("There is no account named " + account)
然后我创建了一个位于此处的 .bat 文件:C:\Users\Alex\Python Programs\pw\pw
@py.exe C:\Users\Alex\Python Programs\pw\pw\pw.py %*
@pause
我知道环境设置正确,因为我在命令行中输入 python 时获得了 python 详细信息。
但如果我输入:
pw <luggage>
我收到一条错误消息The syntax of the command is incorrect
。
如果我输入:
python pw
我得到这个错误(null): can't open file 'pw': [Errno 2] No such file or directory
。
不知道我做错了什么,我现在花了太多时间在这上面。
我现在已将批处理文件更改为 runpw,当我双击此文件时,我收到以下消息:-“'py.exe' 不被识别为内部或外部命令、可运行程序或批处理文件。”
解决方案
固定的。我重新组织了我的文件并将它们放在这个文件夹中:- C:\Users\Alex\Python_programs\Password_project
最初在文件路径中有空格可能是导致问题的原因。
还要确保不要将文件另存为 pw.py.py 大声笑
推荐阅读
- php - 有没有办法在 Laravel 中从 LoginController 对用户进行身份验证之前引用用户模型
- sql - Oracle/SQL:Regexp 与 LIKE-% 类似,但必须使用通配符(非可选)
- java - 无法为变量设置值
- google-cloud-dataflow - 使用 BeamSQL 取消嵌套嵌套的 PCollection
- node.js - 如何获取 webpack 包中使用的所有包的列表?
- java - 必须实现抽象方法
- aframe - 在 A-Frame 场景中渲染 2D 形状的最简单方法是什么?
- c++ - 你可以直接在函数调用中使用 make_unique 吗?
- amazon-ec2 - 在实例已经初始化后启动进程时,有没有办法在我的 ec2 实例上公开端口?
- unicode - -Dfile.encoding= 的非 unicode 字符集的示例是什么?