use*_*130 6 windows script batch-file
我想在远程服务器上调用 cmd(我们称之为 x.cmd)。x.cmd 将返回日志文件夹中的日志文件。问题是 x.cmd 中的这个日志文件夹没有绝对路径(只是像 log\ 这样的相对路径)所以如果我这样做
wmic /node:server process call create "serverpath\x.cmd"
Run Code Online (Sandbox Code Playgroud)
它将处理 x.cmd 但将日志文件保存到system32
我假设的某个地方。如果我添加cd /d %~dp0
到 x.cmd 然后它工作正常。不幸的是,我不允许触摸 x.cmd。只是想知道有没有其他方法可以在不修改它的情况下调用 x.cmd 以及正确的输出。谢谢。
JS
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"
Run Code Online (Sandbox Code Playgroud)
或者
wmic /node:server process call create CommandLine="serverpath\x.cmd" CurrentDirectory="c:\path\to\x.cmd"
Run Code Online (Sandbox Code Playgroud)
您可能需要在远程计算机上进行一次额外的调用net share
才能获取目录的准确位置。像这样的东西:
wmic /node:server process call create "cmd /c \"net share ^> \\\\myshare\\server.shares.txt \""
Run Code Online (Sandbox Code Playgroud)