在其他PC上运行相同的power-shell命令时出错

时间:2019-10-31 11:27:19

标签: windows powershell compiler-errors

我正在运行以下命令。

$ tail -n +2000 text.txt > text.txt.new && mv text.txt.new text.txt

这在使用PowerShell版本Version 5.1.18362.145的HP笔记本电脑上有效

然后我移到我的工作站,在其中运行相同的代码,相同的PowerShell版本,但遇到此错误

  

第1行:char:41

     

'+'$ tail -n +2000 text.txt> text.txt.new && mv text.txt.new text.txt

     

'+'~~

     

在此版本中,标记'&&'不是有效的语句分隔符。

     
    

'+'CategoryInfo:ParserError:(:) [],

  
     

ParentContainsErrorRecordException

     
    

'+'FullyQualifiedErrorId:InvalidEndOfLine

  

我尝试了另一台PC并遇到相同的错误,我也查看了这些版本,但似乎无法找出为什么它可以在我的笔记本电脑上工作。

使用此代码

$ tail -n +2000 text.txt > text.txt.new && mv text.txt.new text.txt

我正在尝试从文本文件的开头删除2000行

我使用代码Get-Host | Select-Object Version来查找版本。

如果还有另一种方法可以删除这2000行,请告诉我,或者如果您对为什么同一命令在工作站上不起作用有解决方法,请告诉我。 (必须是单行命令)

笔记本电脑是Windows 10家庭版1903版

Workstation是Windows 10 Pro 1903版

2 个答案:

答案 0 :(得分:1)

您可以通过yield return new WaitUntil(() => gms.FloodFill(0, 0, GetComponent<Image>().color, gms.tilesColorArray[0, 0])); 开关使用Select-Object

-Skip

答案 1 :(得分:0)

为什么会有这个错误?

&&目前不是PowerShell中允许使用的链运算符(尽管here is an RFC which would implement it,并且类似的链运算符最近已在PowerShell 7 Preview 5中发布)。

您的命令将在命令行中按预期运行,其中&&的功能如您所愿。

要解决此问题,@ EyIM有一个很好的解决方案,但我想解释该错误消息。