如何使我的Python脚本成为系统命令并在Windows的任何目录中轻松运行?

How can I make my Python script a system command and run it easily in any directory in Windows?

我是一个Python新手,在Windows中学习python3.3。

我编写了第一个脚本,一个用增量文件名重命名文件的脚本。但到目前为止,我必须将我的rename.py脚本复制到我想更改文件名并运行Python rename.py的目录中。这不是一种很花哨的使用方法。

我可以改进代码并传递目标目录,以便在源目录(如Python rename.py .../TargetDir中运行脚本,但每次都必须复制该目录。

所以我想让我的脚本成为一个系统命令,然后我只需要在我想重命名一堆文件的目录中的cmd.exe中键入rename。我该怎么处理这个问题呢?


为此,您需要使用doskey,它允许您为命令设置别名。

您可以这样使用它:

1
doskey macroName=macroDefinition

所以你想写这样的东西:

1
doskey rename=Python rename.py .

其中.代表您当前所在的目录。(我不太清楚你想要什么——我理解你的问题的方式是你只想把cx1(12)放到你想重命名一堆文件的目录中,然后运行脚本。)


使用sys.argv获取命令行参数。例如test.py

1
2
3
4
5
import os
import sys

path = sys.argv[1]
print(os.listdir(path))

然后您可以创建一个批处理文件,该文件应该放在属于PATH变量的文件夹中。为此,请创建具有以下内容的文本文档,并将其保存为ListDir.bat。将listdir.bat复制到python文件夹或windows文件夹(两者都应该在PATH中)

列表目录.bat:

1
2
python C:\test.py"%CD%"
PAUSE

%CD%是指windows提示中的当前目录。所以假设python脚本test.pyC:\中,第一行使用参数current目录执行test.py脚本。

我使用PAUSE在完成脚本之前获取用户输入,您可以选择不这样做。

保存ListDir.bat文件后。您可以导航到要在其中使用它的文件夹,只需调用ListDir