为什么传递给Perl脚本的参数不能在批处理文件中运行它?

时间:2017-10-06 08:31:11

标签: windows batch-file

我写了一个名为pippo.bat的批处理,用于启动带参数的程序。然而,它没有得到这样的论证。换句话说,它起作用,因为我没有给它任何论据。

pippo.bat

@echo off
mode con: cols=150 lines=5000
title Link Setting
echo.
echo                         LINK SETTING
echo.
cd /d E:\Program Files (x86)\pippo\bin
pippoedit.ovpl –f C:\Work\pippo.xml
pause

出了什么问题?

1 个答案:

答案 0 :(得分:2)

您正在执行pippoedit.ovpl –f C:\Work\pippo.xml

请注意未注册为可执行文件的扩展名.ovpl。这意味着您让OS找出并启动与该扩展相关联的应用程序,并以该文件名作为参数启动该程序。在这里,一个小的repro:

@echo off
foo.txt bar.txt

这将启动记事本或与.txt扩展程序相关联的任何应用程序,并显示文件foo.txt

执行此操作时,Windows不会对第一个之外的参数执行任何操作。相反,您应该直接启动应用程序,并将参数传递给它:

pippoedit.exe pippoedit.ovpl –f C:\Work\pippo.xml

或者调用可执行文件。