8

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

  • 使用 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 以外的其他工具来完成此操作(仅限免费选项)?

4

5 回答 5

8

经过更多的互联网搜索和反复试验,终于弄清楚了。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

于 2012-01-05T00:06:22.613 回答
2

这有效:

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

于 2013-07-31T16:32:49.013 回答
1

对于简单的情况,我使用:

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

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

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

PsExec \\machine <options> -c PSEXEC_COMMANDS.cmd <arguments>
于 2020-06-18T16:45:48.937 回答
0

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

于 2012-01-05T11:55:24.633 回答
0

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

psexec \\COMPUTER -e cmd /c (COMMAND1 ^& COMMAND2 ^& COMMAND3)
于 2014-10-17T09:05:29.747 回答