bat脚本链接到python脚本

1 投票
3 回答
623 浏览
提问于 2025-04-16 10:59

我有一个.bat文件,它可以设置一个环境,让用户可以执行几个特定工作的Python脚本。我的目标是为这些脚本创建快捷方式。

举个例子,用户运行这个.bat文件后,会弹出一个命令窗口,这时用户就可以输入 python go,而不是输入 python theLongestPythonScriptNameInTheWorld.py

我的目标平台是Windows XP,所以 mklink 在这里不能用。我也不想用 fsutil hardlink。我尝试过 set ok=theLongestPythonScriptNameInTheWorld.py,但我更希望用户不需要输入 python %go%(因为我觉得这样很麻烦)。我还想避免使用WSH,因为我希望这个程序能在原生的XP系统上运行。

除了 mklinkfsutilsetWSH,还有其他解决方案吗?

3 个回答

0

当我自己做类似的事情时,我只是创建了几个额外的批处理文件。

比如,你可以提供一个 py_go.bat 文件,用来运行 python theLongestPythonScriptNameInTheWorld.py 这个命令。

1

如果你想输入 python go,我能想到的唯一方法就是把你的脚本改名为 go

或者,像大多数人一样,创建一个名为 go.bat 的脚本,内容如下:

@echo off
python yourLongestScriptNameInTheWorld.py %*

你可以在这个批处理文件中设置环境,然后运行 go [你的参数]。这样用户输入的内容会更少。

3

你的批处理文件可以接受一个参数,然后根据这个参数决定运行哪个Python包。

@echo off
REM Set Environment Here
if %1=="GO" python yourLongestScriptNameInTheWorld.py %2 %3 %4 %5
if %1=="STOP" python anotherScript.py %2 %3 %4 %5

比如,如果这个批处理文件叫做 foo.bat,用户可以输入:

foo GO arg1 arg2 arg3

另外,如果你不想让用户在运行批处理文件时输入参数(比如说,你是通过图标快捷方式来运行的),你可以使用CHOICE命令让用户从一个列表中选择Python包。

我相信,最终你会意识到,你其实是在用一种不太好用的脚本语言来运行你最喜欢的脚本语言,然后决定把所有这些操作都用Python来完成,而不是用批处理命令语言。

撰写回答