我想在远程服务器上调用一个 cmd(我们称之为 x.cmd)。x.cmd 将返回日志文件夹中的日志文件。问题是 x.cmd 中的这个日志文件夹没有绝对路径(只有相对路径,如 log\ ),所以如果我这样做
wmic /node:server process call create "serverpath\x.cmd"
它将处理 x.cmd,但将日志文件保存到system32
或我假设的某个地方。如果我添加cd /d %~dp0
到 x.cmd,那么它就可以正常工作。不幸的是,我不允许接触 x.cmd。只是想知道有没有其他方法可以调用 x.cmd 而不修改它,并且输出正确。谢谢。
JS
答案1
http://msdn.microsoft.com/en-us/library/windows/desktop/aa389388(v=vs.85).aspx
接受的第二个参数wmic process
是目录。你可以尝试这个:
wmic /node:server process call create "serverpath\x.cmd" , "c:\path\to\x.cmd"
或者
wmic /node:server process call create CommandLine="serverpath\x.cmd" CurrentDirectory="c:\path\to\x.cmd"
您可能需要在远程计算机上进行一次额外调用net share
才能获得目录的确切位置。如下所示:
wmic /node:server process call create "cmd /c \"net share ^> \\\\myshare\\server.shares.txt \""