Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件-访问联网计算机后继续执行命令_Batch File_Cmd_Remote Desktop - Fatal编程技术网

Batch file 批处理文件-访问联网计算机后继续执行命令

Batch file 批处理文件-访问联网计算机后继续执行命令,batch-file,cmd,remote-desktop,Batch File,Cmd,Remote Desktop,我需要在一年中更改多台计算机上的网关地址,我想创建一个批处理文件,使我的生活更加轻松。我遇到的问题是,一旦批处理文件连接到另一台计算机,它就不再继续运行我编写的批处理,直到我“退出”他们的计算机,然后它才运行 设置/p ComName=输入计算机名称: cd\diag psexec\%ComName%cmd.exe netsh interface ip set address name=“局域网连接”网关=192.X.X.XXX gwmetric=0 ipconfig 在它运行“psexec\%

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

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

cd\diag

psexec\%ComName%cmd.exe

netsh interface ip set address name=“局域网连接”网关=192.X.X.XXX gwmetric=0

ipconfig


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

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

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

你可以用几种不同的方法来做

选项1-一个批处理文件 注意
-c
参数。它告诉
PSEXEC
首先将要运行的文件复制到远程计算机

Second.cmd

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

PSEXEC \\%ComName% -c Second.cmd
@ECHO OFF
netsh interface ...<your parameters>...
ipconfig
@ECHO关闭
netsh接口。。。。。。
ipconfig

将要在远程计算机上运行的命令放入批处理文件中,然后使用psexec在远程计算机上运行。必须有替代方法。我有将近400台电脑。我无法在每次希望从我的计算机上运行此批处理文件时都转到每台计算机,创建批处理文件并对其进行编辑。是否有可能让我的批处理文件从我的计算机执行所有操作?批处理文件可以仅存在于您的计算机上。或者,您可以使用
PSEXEC
运行每个命令。你不需要远程运行
CMD.EXE
。这个实验的目的是为了避免输入尽可能多的命令。但是我想我找到了我的问题的答案,你的原始答案的一部分是在每台计算机上都有一个批处理文件。
@ECHO OFF
netsh interface ...<your parameters>...
ipconfig