批处理文件 - 访问联网计算机后的继续命令

时间:2014-03-03 18:59:30

标签: batch-file cmd remote-desktop

我需要在一年中更改多台计算机上的网关地址,我想创建一个批处理文件,这将使我的生活变得更加容易。我遇到的问题是,一旦批处理文件连接另一台计算机,它就不再继续运行我编码的批处理,直到我从他们的计算机“退出”然后它运行。

  

set / p ComName =输入计算机名称:

     

cd \ diag

     

psexec \%ComName%cmd.exe

     

netsh interface ip set address name =“local area connection”gateway = 192.X.X.XXX gwmetric = 0

     

IPCONFIG

运行"psexec \%ComName% cmd.exe"之后,我需要做什么才能让其余的批处理文件在另一台计算机上运行?

2 个答案:

答案 0 :(得分:1)

你可以用不同的方式做到这一点。

选项1 - 一个批处理文件

SET /P ComName=Input Computer Name:
CD \diag

PSEXEC \\%ComName% netsh interface ...<your parameters>...
PSEXEC \\%ComName% ipconfig


选项2 - 两个批处理文件

<强> First.cmd

@ECHO OFF
SET /P ComName=Input Computer Name:
CD \diag

PSEXEC \\%ComName% -c Second.cmd

请注意-c参数。它告诉PSEXEC首先将要运行的文件复制到远程计算机。

<强> Second.cmd

@ECHO OFF
netsh interface ...<your parameters>...
ipconfig

答案 1 :(得分:0)

使用cmd选项将命令作为参数传递给/C并显式调用exit

psexec \\%ComName% cmd /C "( netsh interface ip set address name="local area connection" gateway=192.X.X.XXX gwmetric=0 && ipconfig ) & exit"