【问题标题】:Running multiple commands in cmd via psexec通过 psexec 在 cmd 中运行多个命令
【发布时间】:2012-01-04 19:33:11
【问题描述】:

我正在创建一个命令,它将在另一台机器的命令行上运行多个东西。这就是我想做的事情。

  • 使用 psexec 访问远程机器
  • 移动到正确的目录和文件
  • 执行蚂蚁任务
  • 退出命令
  • 一行跑在一起

我可以从 Run 运行以下命令来完成我需要完成的任务,但似乎无法让 psexec 理解它的格式正确。

cmd /K cd /d D:\directory & ant & exit

我已尝试将其应用于下面的 psexec 示例:

psexec \\machine cmd /K cd /d D:\directory & ant & exit 

执行此操作时,它将激活命令行并前往D:\directory,但不会执行剩余的命令。添加"" 只会产生更多问题。

谁能指导我正确的格式?或者我可以使用除 psexec 之外的其他工具来完成此操作(仅限免费选项)?

【问题讨论】:

    标签: ant cmd configuration-management psexec


    【解决方案1】:

    对于我使用的简单情况:

    PsExec \\machine <options> CMD /C "command_1 & command_2 & ... & command_N"
    

    对于更复杂的情况,使用带有PsExec's -c switch 的批处理文件可能更合适:

    -c 开关指示 PsExec 将指定的可执行文件复制到远程系统以执行,并在程序运行完成后从远程系统中删除该可执行文件。

    PsExec \\machine <options> -c PSEXEC_COMMANDS.cmd <arguments>
    

    【讨论】:

      【解决方案2】:

      经过更多的互联网搜索和反复试验,终于弄清楚了。 psexec 需要 /c 来运行多个命令,但是该语法不适用于我上面编写的设置。我得到了下面的命令来运行我需要的东西。

      psexec \\machine cmd /c (^d:^ ^& cd directory^ ^& ant^) 
      

      我不需要退出,因为 psexec 将在完成后自行退出。您还可以使用 && 要求成功以继续执行下一个命令。觉得这个论坛有帮助

      http://forum.sysinternals.com/psexec_topic318.html

      这用于运行 psexec 命令

      http://ss64.com/nt/psexec.html

      【讨论】:

      • 你能告诉我什么时候放^,我用这段代码搞不懂。
      【解决方案3】:

      这行得通:

      psexec \ComputerName cmd /c "echo hey1 & echo hey2"

      【讨论】:

        【解决方案4】:

        既然您询问了其他选项并且这具有标签配置管理——我猜您可能对Jenkins(或 Hudson)感兴趣。它提供了非常好的创建主从机制的方法,有助于简化构建过程。

        【讨论】:

          【解决方案5】:

          我总是这样使用 :) 并且工作正常

          psexec \\COMPUTER -e cmd /c (COMMAND1 ^& COMMAND2 ^& COMMAND3)
          

          【讨论】:

            猜你喜欢
            • 2021-05-03
            • 2010-10-16
            • 2021-05-18
            • 2016-06-03
            • 1970-01-01
            • 1970-01-01
            • 2017-08-04
            • 2011-07-12
            相关资源
            最近更新 更多