2012-01-04 20 views
7

Pracuję nad utworzeniem pojedynczego polecenia, które będzie uruchamiać wiele rzeczy w wierszu poleceń innej maszyny. Oto, co chcę zrobić.Uruchamianie poleceń mulitple w cmd przez psexec

  • Zastosowanie psexec do dostępu zdalnego maszyna
  • podróży do odpowiedniego katalogu i pliku
  • wykonać Ant zadanie
  • wyjście cmd
  • biegać razem w jednej linii

mogę uruchomić poniżej polecenie z Run, aby zakończyć to, czego potrzebuję, ale nie mogę uzyskać poprawnego formatu, aby psexec mógł go zrozumieć.

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

Próbowałem appling to do PsExec poniższym przykładzie:

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

Podczas wykonywania tego będzie aktywować linię poleceń i podróży do D:\directory ale nie wykona pozostałych poleceń. Dodanie "" powoduje tylko więcej problemów.

Czy każdy może doprowadzić mnie do właściwego formatu? Lub coś innego niż psexec mogę użyć, aby to zrobić (tylko darmowe opcje)?

Odpowiedz

7

Wyliczyłem to w końcu po kolejnym wyszukiwaniu w Internecie i próbach i błędach. psexec potrzebuje/c, aby uruchamiać wiele poleceń, ale ta składnia nie działa z konfiguracją, którą napisałem powyżej. Dostałem komendę poniżej, aby uruchomić to, czego potrzebuję.

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

Nie muszę wychodzić, ponieważ psexec zakończy działanie po zakończeniu. Możesz także użyć & &, aby wymagać sukcesu, aby przejść do następnego polecenia. Znaleziono ten dział jako

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

i to na prowadzenie psexec poleceń

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

+0

Czy możesz wyjaśnić mnie, gdy dokładnie wstawiam '^', nie mogę tego zrozumieć za pomocą tego kodu. – IGRACH

0

Ponieważ poprosiłeś o innych opcji, a to ma konfigurację tag managment-- Chyba może być zainteresowany w Jenkins (lub Hudson). Zapewnia bardzo dobry sposób tworzenia mechanizmu master-slave, który może pomóc w uproszczeniu procesu budowania.

2

to działa:

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

0

Zawsze używam jak ten sposób :) i działa prawidłowo

psexec \\COMPUTER -e cmd /c (COMMAND1 ^& COMMAND2 ^& COMMAND3) 
Powiązane problemy