如何向运行程序发送命令?在批处理文件中

时间:2014-01-29 16:00:12

标签: batch-file

我有一个名为myProgram.exe的程序,它在服务器的控制台中运行。在服务器上,我可以在控制台中键入命令,它可以工作 在客户端,我如何使用批处理文件将命令发送到此控制台。我想附加到这个控制台并在一行中传递一个命令。有可能吗?

服务器:Windows 2003 Server 客户端:Windows XP或Win7

3 个答案:

答案 0 :(得分:1)

您可能想要使用PSEXEC(SysInternals)

psexec \\%SERVER% c:\FOLDER\FILE.EXE 

答案 1 :(得分:1)

remote.exe

的详细解决方案

在服务器'A'上: remote /s cmd bootSession

在客户'B'上: createSession.bat

@echo off
echo remote /s cmd session1 > commands.txt
echo @q >> commands.txt
remote /c A bootSession < commands.txt
del commands.txt
remote /c A session1

如果您考虑参加多个会话,您应该在您的客户端上运行一个计数器,并在uid中嵌入客户名称+计数器。

你也可以创建随机的uid。

答案 2 :(得分:0)

我在客户端B中修改了你的代码createSession.bat:

@echo off
echo remote /s cmd session1 > commands.txt
echo @Q >> commands.txt
runas /profile /savecred /user:User1"cmd /C %RemotePath%\remote /c computerA bootSession   < %CD%\commands.txt" 
runas /profile /savecred /user:User1"cmd /k %RemotePath%\remote /c computerA session1"  

它工作正常,但cmd(bootSession)的第一个实例仍然打开,即使我发送@Q到远程退出。你有想法关闭它,只让第二个实例(session1)。

再次感谢