如何从powershell脚本中调用cmd批处理

时间:2012-01-20 03:20:44

标签: windows powershell cmd

我有

C:\文件夹\ tail.exe

C:\日志\ LOGFILE.LOG

C:\脚本\ shellscript.ps1

如何从C:\ script \ shellscript.ps1

中运行C:\ folder \ tail.exe

我需要在C:\ script \ shellscript.ps1中运行“C:\ folder \ tailf.exe C:\ logs \ logfile.log”,但不依赖于单独的批处理文件,我需要直接调用它。

通常我这样做:cd C:\ folder \然后是tailf.exe C:\ logs \ logfile.log

在C:\ script \ shellscript.ps1里面我试过

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

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

2 个答案:

答案 0 :(得分:7)

你可以做你通常做的事情:

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

请注意,如果路径中包含空格,则必须执行以下操作:

& "C:\fol der\tail.exe" "c:\log s\logfile.log"

答案 1 :(得分: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 Tail for Win32 ,这是一个与您的命令相当的PowerShell:

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

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