2015-10-09 598 views
-1

我能够通过使用以下命令在远程位置触发批处理脚本来执行基本操作。PSEXEC:不识别远程命令

psexec -e -h -s -u User -p pass \\10.0.0.240 C:\test.bat 

当test.bat的文件调用诸如somepy.py那么我在主批处理文件得到错误,这些都不是内部命令其他方案的具体脚本,但。在主机计算机 主批处理文件:
CODE
psexec -e -h -s -u user -p pwd \\10.0.0.240 C:\Users\Desktop\TEST\test.bat

司令部内test.bat地处偏远PC:

cd C:\Users\Desktop\TEST1 
impact -batch test_impact_warp_AP.cmd 
`pause` 
waitfor /t 5 StartNow 

REM wait for 5second echo "Run python script for Warp"
cd C:\Users\Desktop
call warp-python.bat

ipconfig /all 
ping google.com 

命令内warp-python.bat存在于远程机器:

set PYTHONPATH=C:\Users\Desktop\Python_Reference 
cd C:\Users\Desktop\Python_Reference\examples\PYTHON_SCRIPT 
python t_capture.py 
  1. 当我直接执行的脚本的test.bat然后warp-python.bat以及test_impact_warp_AP.cmd执行完全没有任何错误。
  2. 但是,当我尝试从远程位置执行test.bat然后*python**impact*命令不被识别。并给出了以下错误:

    'Impact' is not recognised as an internal or external Commandipconfig/allping命令在远程PC完全执行

  3. 什么我在命令行参数丢失从而PSEXEC在不能够在远程位置执行的命令
+0

运行PSEXEC时,您可能会检查其他机器上的环境包含的内容,特别是PATH。 Powershell也可以运行远程命令。 – lit

回答

0
  1. 的psexec.exe添加到您的PATH变量在环境变量或 给psexec.exe的完整路径你的命令。

实施例:

c:\users\test\Desktop\psexec.exe -e -h -s -u User -p pass \10.0.0.240 C:\test.bat 
  • 确保C:\ test.bat的是存在于远程机器。
  • +0

    嗨,我尝试了你的一步,但仍然psexec给错误:'影响'不被识别为内部或外部命令。我的设置:test.bat存在于远程机器上。该批处理文件包含一些Xilinx和python命令。当我在本地运行批处理文件时,它完美地执行。我也能运行psexec工作,例如。我可以使用psexec执行ping,ipconfig,cd到远程目录。但不知何故,psexec在执行特定程序的命令时发生错误。我是否在psexec命令中缺少任何参数? – HaWa

    +0

    你可以粘贴test.bat的 – user

    +0

    的test.bat里的内容 'IPCONFIG'“蟒蛇-V 回声 “第一次运行脚本” 集PYTHONPATH = C:\用户\桌面\ TEST \ Python_Reference CD C:\用户\ Desktop \ TEST \ Python_Reference \ examples \ TEST python t_test.py'。 PSEXEC将执行ipconfig命令,但没有认识到python脚本 – HaWa