我有一个.bat,它设置了一个允许用户为特定作业执行多个python脚本的环境。我的目标是创建脚本链接。
例如,用户运行.bat,弹出一个cmd窗口,而不是键入python theLongestPythonScriptNameInTheWorld.py
,而是键入python go
。
我的目标平台是Windows XP,所以mklink
不会在这里工作。我不想使用fsutil hardlink
。另外,我只是尝试了set ok=theLongestPythonScriptNameInTheWorld.py
,但是id反而避免用户必须输入python %go%
(模数,因为如果我需要键入模数,它会让我感到沮丧)。我也想避免使用WSH,因为我希望它能在本机XP安装上运行。
除mklink
,fsutil
,set
和WSH
之外还有其他解决方案吗?
答案 0 :(得分: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
或者,如果您不希望用户将参数传递给bat文件(例如,您从图标快捷方式运行它),则可以提示用户从CHOICE列表中选择Python包命令。
我相信,最终,您将意识到您正在使用一种非常糟糕的脚本语言来运行您喜欢的脚本语言,并决定执行所有这些 IN Python而不是Batch命令语言。
答案 1 :(得分:1)
如果您想输入python go
,我能想到的唯一方法就是将您的脚本重命名为go
。
或者,像大多数其他人一样,创建一个名为go.bat
的脚本,其中包含以下内容:
@echo off
python yourLongestScriptNameInTheWorld.py %*
您可以在此批处理文件中设置环境,然后运行go [your_args]
。这对用户来说更难打字。
答案 2 :(得分:0)
当我为自己做类似的事情时,我只是创建了一些批处理文件。
例如,您可以提供py_go.bat
来调用python theLongestPythonScriptNameInTheWorld.py