2015-04-21 117 views
1

我在桌面上创建了一个python脚本的快捷方式。如何用windows命令行和参数打开快捷方式

现在我想用命令行和参数打开它。

如果我打开快捷方式的属性,我可以添加参数,但我不能强制用命令行打开。

这些文件的默认程序是notepad ++,但是如果我将它更改为“命令行”并双击它,那么仅打开命令行,并显示快捷方式中给出的相应路径,但不执行该文件。

我需要做什么?

+1

.py和.pyw脚本不应该主要与编辑器相关联。所以首先要修复关联,以使用Python安装程序创建的'Python.File'和'Python.NoConFile'类型。 – eryksun

回答

0

更改快捷方式的目标,以“CMD文件名”(即新增目标之前“CMD”)

+0

我相信你是在'cmd/k文件名'之后。 '/ k'选项在'filename'退出后保持shell运行。这样控制台窗口不会自动关闭。但是,如果文件类型关联是错误的,除非OP使用诸如'cmd.exe/k“”C:\ Python27 \ python.exe“”C:\ ... \ path \ run .py“参数”'。如果您不希望控制台窗口保持打开状态,请使用'/ c'而不是'/ k'。 – eryksun

+0

你的意思是“cmd C:\ ..... \ path \ run.py参数”?那没用... ... :( – Creatronik

0

我想知道如何做题说,正是“如何打开与Windows命令行参数的快捷方式”。

我的意思是:

  • 在命令行中运行一个快捷方式,并传递参数给它

那快捷方式指向一个批处理文件,并设置上打钩的奔跑与管理员权限。是的,快捷方式将参数传递给它们指向的应用程序/批处理,因此不需要在LNK上自行添加参数...最糟糕的是参数是可变的,并且如果将任何参数放在LNK上,则它将被视为文字...如果LNK具有某些参数,START上的参数将添加到LNK之后(测试)。

该批处理文件(用于测试)可以如此简单:

@ECHO OFF 
ECHO Parameter 1 is: %1 
PAUSE 

如果我运行的.lnk(快捷方式)启动它发生的两件事情:

  1. 它运行批处理文件,如果参数不包含"
  2. ,它甚至没有运行该批处理文件,如果参数包含"

那么如何传递一个有空格的参数呢?就像一个路径,文件名等

我不想使用该选项来设置一个变量如果看不到,也不保存在文件参数等

其实我满资质开始尝试另一批内部命令:

@ECHO OFF 
ECHO DeBug - start- 
start "Some Title Is Requiered, can be empty" /D "Starting Path" /WAIT "Full Path to the LNK file.lnk" %1 
ECHO DeBug - stop- 
PAUSE 

这样的.lnk指向样品批次(具有PAUSE就可以了)。

如果我使用不带空格的参数调用Batch并且没有引号,它可以很好地工作,但只要参数包含空格或引号,快捷方式指向的批处理不会运行(但所有情况下都会显示管理权限问题,当然我在所有情况下都按Yes)。

相关问题