【问题标题】:execute batch script from a remote computer从远程计算机执行批处理脚本
【发布时间】:2014-01-06 20:42:31
【问题描述】:

计算机 A 在网络上,是我们的主服务器。目前,我们有一个 Windows 批处理脚本,它存储在 c:\scripts 文件夹中。此批处理脚本接受 2 个字符串参数(例如 TEST ABCD)

目前,我转到此服务器,启动命令提示符,然后执行脚本。例如:

script.bat TEST ABCD

我想从任何计算机通过 LAN 执行此脚本。从任何计算机调用服务器 A 上的批处理脚本的最佳方法是什么?

我从未尝试过这个,所以几乎没有任何线索。我尝试搜索stackOverflow,但没有得到任何具体答案。任何帮助表示赞赏。

【问题讨论】:

  • 你能把电脑A上的文件夹c:\scripts分享给其他电脑吗?
  • @zdan 是的,我认为可以做到。如果是,它将如何工作?
  • 据我了解,他希望脚本在服务器上运行,而不是在客户端上运行。
  • 您使用的是什么 Windows 版本?所有现代版本(桌面版 XP 及以上版本,服务器版 Win2003,IIRC)都支持 Remote Desktop 或 RDP(以前称为 Terminal Server)。这使您可以像坐在远程计算机上一样访问远程计算机。 (如果您需要有关 RDP 的更多信息,请从 Microsoft 开始。如果您在此之后有任何问题,您应该在 Super User 上提问,因为这不是编程主题,因此不是这里的主题。 )
  • 很遗憾,RDP 不是替代方案。

标签: windows batch-file


【解决方案1】:

如果您对服务器具有读/写权限:

pushd "\\server\batch file folder\"
script.bat TEST ABCD
popd

【讨论】:

  • 您能否分享一下这些命令的作用的一些细节?我阅读了描述,但不清楚它的工作原理
  • 输入 HELP PUSHDHELP POPD
  • 使用此命令,脚本是在本地执行还是在托管脚本的远程计算机上执行?
  • 它将在本地 CPU 上执行,但在远程计算机上处​​理文件,具体取决于批处理文件的作用。
【解决方案2】:

您可以使用 Telnet。 Windows 有built-in telnet server supporttelnet client

您将在服务器上设置 telnet 服务器并从客户端登录。这很像服务器上的命令提示符。

更新:

另一种选择是设置一个 Web 服务器(IIS 内置在 Windows 中,但任何 Web 服务器都可以)并设置一个运行批处理文件的 CGI 脚本。您甚至可以拥有一个页面,让您的团队输入/更改脚本的参数。

我认为这个 CGI 脚本的细节值得后续提问。

【讨论】:

  • 这是否意味着在服务器的防火墙中打开一个端口?另外,我需要在服务器上创建一个新用户才能通过 telnet 登录吗?
  • @MonilChheda 如果您有第 3 方固件,那么可能是的,我认为 Windows 固件将打开其端口。如果您愿意,您可以创建一个专用用户,但它也应该适用于您当前的用户。
  • 我只是有点担心,并不是我团队中的所有人都精通技术,可以使用 telnet 登录服务器。我正在寻找一种更简单的语法来调用批处理脚本。
  • @MonilChheda 在这种情况下,也许您可​​以使用带有 CGI 脚本的 Web 服务器。
  • 只是好奇它是如何工作的...可能是我想多了...Windows没有任何实用程序/命令可以调用远程脚本并用一个简单的命令在那里执行它吗?
【解决方案3】:

这可以通过命令提示符或 bat 文件 wmic /node:MachineName> process call create "cmd.exe c:\Test\script.bat TEST ABCD" 轻松完成

求助 wmic /?

【讨论】:

    猜你喜欢
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    相关资源
    最近更新 更多