如何在命令提示符下运行带参数的.bat文件? (修改项目变量)

时间:2016-08-20 18:36:36

标签: cmd command-prompt etl datastage

我正在尝试按以下顺序处理文件,请指出正确的方向。

  1. 通过输入:D :(成功)
  2. 切换到D盘
  3. 转到目录D:\ IBM \ InformationServer \ ASBNode \ bin。 (成功)
  4. 为新的EDW项目执行processEnvVariables.bat,下面列出了该命令的示例,其中包含该命令的格式示例。 (故障)
  5. processEnvVariables.bat -dir D:\ IBM \ InformationServer \ Server \ Projects \ EDW -dom localhost -port 9080 -u -p

    我成功完成第2步之后或之前执行,因为在第2步之后执行step2时我收到错误.project_dir应该在不同的文件夹中,例如c:\ IBM \ Informationserver \ server \ projects \ myproj。

    我在下面输入时基本上需要帮助。

    命令格式:processEnvVariables.bat

    processEnvVariables.bat -dir D:\ IBM \ InformationServer \ Server \ Projects \ EDW -dom localhost -port 1234 -u -p

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用此批次代码:

pushd "D:\IBM\InformationServer\ASBNode\bin"
call processEnvVariables.bat -dir D:\IBM\InformationServer\Server\Projects\EDW –dom localhost –port 9080 -u –p
popd

第一个命令保存/推送堆栈上当前目录的路径,该路径很可能是驱动器C上的C:\IBM\Informationserver\server\projects\myproj,然后将指定的目录D:\IBM\InformationServer\ASBNode\bin设置为新的当前目录。

第二个命令调用另一个批处理文件,由于某些未知原因,它与目录D:\IBM\InformationServer\Server\Projects\EDW和驱动器D:根据参数一起工作。我没有这个批处理文件,因此不知道这个批处理文件的用途是什么。

命令 CALL 的使用在此非常重要,否则当前批处理文件的处理将在processEnvVariables.bat上继续,并且此批处理文件中的第三个命令将永远不会作为Windows命令执行如果没有命令 CALL ,处理器在运行其他批处理文件时永远不会回到当前批处理文件。

第三个命令从堆栈加载/弹出以前保存的当前目录路径,并使该目录再次成为当前目录。

要了解使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。

  • call /?
  • popd /?
  • pushd /?