调用外部可执行文件的远程执行的批处理文件
Remotely executed batch file calling an external executable
我正在尝试调用远程服务器上的 .cmd 文件(有效),然后从该 .cmd 文件调用远程服务器上的外部可执行文件来压缩一些文件。这曾经在较旧的环境中工作(远程服务器是 2003 机器),但我们正在迁移到新的 2012r2 服务器,现在我收到找不到路径错误。我知道路径是正确的,因为在本地我可以毫无问题地 运行 所有这些命令。让我把它布置得更干净一点:
调用服务器:
我使用以下命令行调用远程服务器上的脚本:
\server1\path1a\path1b\myscript.cmd \server1\path2a\path2b\
远程服务器:
这里 "myscript.cmd" 文件的内容是:
@echo off
e:\utils\gzip.exe -N -3 -a %1\p*
if %errorlevel% GTR 0 goto zipfail
echo ZIP WORKED!
exit
:zipfail
echo ZIP FAILED with error: %errorlevel%
exit
如您所见,我将一个参数传递给要压缩的源文件所在的位置。我使用的调用服务器上的帐户对 .cmd 文件所在的目录以及远程服务器上 gzip 实用程序所在的本地路径 e:\utils 具有完全访问权限(文件和共享级别)。我可以从远程服务器 运行 这一切都正常工作,但是当我尝试从远程机器调用它时,我返回 "the system cannot fine the path specified" 错误。我已经确认问题不是 "c:\utils\gzip.exe" 路径,因为如果它丢失或不正确,我会收到一个不同的错误,指出它找不到 gzip 实用程序。这意味着问题是让 gzip 启动并让它访问要压缩文件的远程路径。
(顺便说一句,我试过将 gzip 放到 .cmd 文件所在的相同路径,结果相同。)
有什么想法吗?这是 2012 年的一些新安全限制,允许远程执行脚本 unable/not 访问远程可执行文件吗?
Paul 是对的 - 自从我使用批处理文件以来已经太久了,以至于我开始忘记基础知识...grrrr!
调用(又名机器 运行 脚本)时缺少路径(和调用的可执行文件)。一旦我确定它运行良好!
我正在尝试调用远程服务器上的 .cmd 文件(有效),然后从该 .cmd 文件调用远程服务器上的外部可执行文件来压缩一些文件。这曾经在较旧的环境中工作(远程服务器是 2003 机器),但我们正在迁移到新的 2012r2 服务器,现在我收到找不到路径错误。我知道路径是正确的,因为在本地我可以毫无问题地 运行 所有这些命令。让我把它布置得更干净一点:
调用服务器: 我使用以下命令行调用远程服务器上的脚本:
\server1\path1a\path1b\myscript.cmd \server1\path2a\path2b\
远程服务器: 这里 "myscript.cmd" 文件的内容是:
@echo off
e:\utils\gzip.exe -N -3 -a %1\p*
if %errorlevel% GTR 0 goto zipfail
echo ZIP WORKED!
exit
:zipfail
echo ZIP FAILED with error: %errorlevel%
exit
如您所见,我将一个参数传递给要压缩的源文件所在的位置。我使用的调用服务器上的帐户对 .cmd 文件所在的目录以及远程服务器上 gzip 实用程序所在的本地路径 e:\utils 具有完全访问权限(文件和共享级别)。我可以从远程服务器 运行 这一切都正常工作,但是当我尝试从远程机器调用它时,我返回 "the system cannot fine the path specified" 错误。我已经确认问题不是 "c:\utils\gzip.exe" 路径,因为如果它丢失或不正确,我会收到一个不同的错误,指出它找不到 gzip 实用程序。这意味着问题是让 gzip 启动并让它访问要压缩文件的远程路径。
(顺便说一句,我试过将 gzip 放到 .cmd 文件所在的相同路径,结果相同。)
有什么想法吗?这是 2012 年的一些新安全限制,允许远程执行脚本 unable/not 访问远程可执行文件吗?
Paul 是对的 - 自从我使用批处理文件以来已经太久了,以至于我开始忘记基础知识...grrrr!
调用(又名机器 运行 脚本)时缺少路径(和调用的可执行文件)。一旦我确定它运行良好!