我正在寻找Windows 7等同于" tail"命令和思想我用Powershell等效物找到了它 -
C:\>powershell -command "& {Get-Content file.txt | Select-Object -last 100}"
如果我在自己的Windows 7 PC上的CMD提示中使用它,请返回信息。我甚至可以将其输入/附加到另一个文件中。
然而,当我远程登录到另一台PC(通过openSSH)时,该命令可以正常工作,但它永远不会让我回到命令提示符 - 只是在向我显示文件的最后100行后挂起。这意味着这对于我试图编辑大约300台远程Windows 7 PC的批处理文件不起作用。
有什么想法吗?
答案 0 :(得分:2)
在网上尝试了很多不同的建议之后,终于找到了一个有效的建议!
答案在批处理文件本身内。我调用这个Powershell系列的批处理文件就是这样:
Powershell.exe -noprofile -executionpolicy Bypass C:\log\Tail.ps1
:end
同样,如果您在要从中运行/获取信息的PC上使用它,那么效果会非常好。但不是远程的。最后发现你只需要添加" < NUL 强>"在您的批处理文件中调用Powershell,就像这样
Powershell.exe -noprofile -executionpolicy Bypass C:\log\Tail.ps1 <nul
:end
另一个人写的是最终有意义的:&#34;我的研究表明,PowerShell运行通过-File开关指示的脚本中的命令,然后等待来自标准输入的其他PowerShell命令(我的简介) -Command开关的实验证明了类似的行为)。通过将标准输入重定向到nul,一旦PowerShell完成脚本执行并且“读取文件结尾”&#39;从标准输入,PowerShell退出。&#34;
在此页面上找到 - Powershell script gets stuck, doesn't exit when called from batch file 所以实际上归功于@Gordon Smith