In einem Power Fenster:Warum teilt PowerShell Argumente mit Bindestrichen und Punkten auf?
PS C:\> echo -abc.def.ghi
-abc
.def.ghi
Aus irgendeinem Grunde die Kombination von einem Bindestrich und die Periode Ursache Powershell das Argument in zwei Zeilen aufgeteilt.
Es ist nicht mit ohne Bindestrich auftritt:
PS C:\> echo abc.def.ghi
abc.def.ghi
auch nicht auftreten es, wenn es keine Perioden sind:
PS C:\> echo -abcdefghi
-abcdefghi
Durch Versuche habe ich fand ich das Verhalten entweichen kann mit ein Graviszeichen:
PS C:\> echo `-abc.def.ghi
-abc.def.ghi
Aber warum doe s dies geschieht? Welchen grundlegenden Teil der PowerShell-Syntax verstehe ich nicht?
Hmm, interessant. Ich notiere "Echo" -abc.def "' funktioniert wie erwartet, das könnte ein Hinweis sein. –
Angenommen, Sie verwenden PowerShell V3 +, können Sie dieses '{echo -abcdef.ghi} .Ast.EndBlock.Statements [0] .PipelineElements [0] .CommandElements verwenden ', um zu sehen, wie dies vom Parser interpretiert wird – PetSerAl