2012-01-20 105 views
2

如何从PowerShell脚本内

调用C CMD批:\文件夹\ tail.exe

C:\日志\ LOGFILE.LOG

C:\脚本\ shellscript.ps1从C中\文件夹\ tail.exe:

如何运行C \脚本\ shellscript.ps1

我需要运行“C:\文件夹\ tailf.exe C:\日志\ logfile.log“来自C:\ script \ shellscript.ps1,但没有依靠单独的批处理文件,我需要直接调用它。

通常我做的:CD C:\文件夹\,然后tailf.exe C:\日志\ LOGFILE.LOG

内C:\脚本\ shellscript.ps1我试图

start-process C:\fetchmail\tail.exe -argumentlist "C:\fetchmail\logs\fetchmail.log" 

我可以看到一个窗口闪烁,但不知道它是否工作,窗口应该保持打开状态。

回答

7

你可以做你通常做:

C:\folder\tail.exe c:\logs\logfile.log 

注意的是,如果路径有空格他们,你必须做的:

& "C:\fol der\tail.exe" "c:\log s\logfile.log" 
3
  1. 为了实现tail.exe运行一个独立窗口没有立即关闭窗口,请尝试:

    cmd /k c:\folder\tail.exe c:\logs\test.log

  2. 要开始在PowerShell窗口tail.exe,尝试:

    C:\folder\tail.exe c:\logs\logfile.log

  3. 假设tail.exe尾为Win32,这是一个PowerShell相当于你的命令:

    get-content c:\logs\logfile.log | select -last 10

  4. Powershell Community Extensions中有一个Get-FileTail cmdlet,它是一个更高效的本机powershell尾部等效项。

+1

您只需在PowerShell中键入'cmd/k c:\ folder \ tail.exe c:\ logs \ test.log'。毕竟这是一个* shell *。有一些特质与程序的参数,但他们不适用于这里 – Joey

+0

@Joey优秀的评论。更新了答案。 –