我正在创建一个命令,该命令将在另一台机器的命令行上运行多个功能。这是我想做的。
- 使用psexec访问远程计算机
- 移动到正确的目录和文件
- 执行ant任务
- 退出cmd
- 在一行中一起运行
我可以从run运行下面的命令来完成我需要完成的任务,但似乎无法获得正确的格式让psexec理解它。
cmd /K cd /d D:directory & ant & exit
我已经尝试将其应用于下面的psexec示例:
psexec \machine cmd /K cd /d D:directory & ant & exit
执行此操作时,它将激活命令行并转到D:directory
,但不会执行其余命令。添加""
只会产生更多问题。
有人能告诉我正确的格式吗?或者我可以用psexec以外的东西来完成这项工作(仅限自由选项)?
经过更多的互联网搜索和试错,终于找到了答案。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
这是有效的:
psexec\ComputerName cmd/c"echo-hey1&echo-hey2"
对于简单的情况,我使用:
PsExec \machine <options> CMD /C "command_1 & command_2 & ... & command_N"
对于更复杂的情况,使用带有PsExec的-c
开关的批处理文件可能更合适:
-c开关指示PsExec将指定的可执行文件复制到远程系统执行,并在程序运行完成后从远程系统删除可执行文件
PsExec \machine <options> -c PSEXEC_COMMANDS.cmd <arguments>
由于您询问了其他选项,并且该选项具有标记配置管理功能,我想您可能对Jenkins(或Hudson)感兴趣。它提供了创建主从机制的非常好的方法,这可能有助于简化构建过程。
我总是这样使用:)并且正常工作
psexec \COMPUTER -e cmd /c (COMMAND1 ^& COMMAND2 ^& COMMAND3)