2017-03-14 60 views
0

我得到了下面的代碼,它將運行使用cmd的LS-PrePost-3.0-Win32_setup.exe。 我的psexec位於c:\ psexec中。我把我的批處理文件和exe文件放在同一個文件夾中。使用PSexec通過CMD運行UNC路徑

c:\psexec\psexec -d \\%%M cmd /c start /wait "%~dp0LS-PrePost-3.0-Win32_setup.exe" /quiet /silent /norestart 

我的代碼似乎什麼也沒做。它執行代碼,但exe文件沒有運行遠程PC。

編輯:我改變了Psexec的目錄。

回答

1

你可以嘗試的東西像

c:\psexec\psexec \\%%M -d -c "%~dp0LS-PrePost-3.0-Win32_setup.exe" /quiet /silent /norestart 
  • 如你不等待(-d)你不需要start /wait
  • 當你開始一個可執行文件不是內部命令,不需要cmd /c
  • 該文件在遠程機器上執行,因此它必須在遠程機器上可用。複製它(-c

psexec幫助

-c   Copy the specified program to the remote system for 
      execution. If you omit this option the application 
      must be in the system path on the remote system. 
-d   Don't wait for process to terminate (non-interactive). 
cmd  Name of application to execute. 
arguments Arguments to pass (note that file paths must be 
      absolute paths on the target system). 
+0

我用CMD,因爲位於一個共享文件夾中的文件。我知道你不能使用psexe從共享驅動器執行exe文件。已經在 –

+0

@RegieBaguio上編輯過我的帖子,您正在使用'%〜dp0'來解析本地機器中的路徑,而不是遠程機器中的路徑。遠程機器需要一個對遠程文件系統有效的路徑。 –