Running multiple commands in cmd via psexec

Steve Miskiewicz picture Steve Miskiewicz · Jan 4, 2012 · Viewed 30.3k times · Source

I'm working on creating a single command that will run mulitple things on the command line of another machine. Here is what I'm looking to do.

  • Use psexec to access remote machine
  • travel to proper directory and file
  • execute ant task
  • exit cmd
  • run together in one line

I can run the below command from Run to complete what I need accomplished but can't seem to get the format correct for psexec to understand it.

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

I've tried appling this to the psexec example below:

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

When executing this it will activate the command line and travel to D:\directory but won't execute the remaining commands. Adding "" just creates more issues.

Can anyone guide me to the correct format? Or something other than psexec I can use to complete this (free options only)?

Answer

Steve Miskiewicz picture Steve Miskiewicz · Jan 5, 2012

Figured it out finally after some more internet searching and trial and error. psexec needs /c to run multiple commands, but that syntax doesn't work with the setup I wrote above. I've gotten the below command to run what I need.

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

I don't need to exit because psexec will exit itself upon completion. You can also use && to require success to continue on to the next command. Found this forum helpful

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

And this for running psexec commands

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