Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell:如何删除阵列控制台输出中的第一个空空行?_Powershell_Blank Line - Fatal编程技术网

Powershell:如何删除阵列控制台输出中的第一个空空行?

Powershell:如何删除阵列控制台输出中的第一个空空行?,powershell,blank-line,Powershell,Blank Line,我有一些代码,输出到控制台: $exeoutput = @( " Compression : CCITT Group 4", " Width : 3180", " Height : 4908" ) $var = $exeoutput.trim() | Select-String "Height|Width|Compress" echo ---------------- $v

我有一些代码,输出到控制台:

$exeoutput = @(
    "     Compression          : CCITT Group 4",
    "     Width                : 3180",
    "     Height               : 4908"
)
$var = $exeoutput.trim() | Select-String "Height|Width|Compress"
echo ----------------
$var
echo ---------------
输出为

----------------

Compression          : CCITT Group 4
Width                : 3180
Height               : 4908
----------------
如何从控制台输出中删除upper------之后的第一个空空行?

$var变量的每个元素都是MatchInfo类型。您需要将它们强制转换为字符串,如下所示:

[string[]]$var

阅读:

ForEachtype转换类型 对于ForEach方法,您可以将类型传递到ForEach中 方法将集合中的每个项转换为另一项 类型例如,假设您有一组对象,并且 要将这些对象转换为其等效字符串。这是 ForEach方法会是什么样子:

您可以通过键入集合来执行相同的任务 转换为字符串类型的数组,例如[string[]]$processs,以及 实际上,数组的类型转换速度要快得多,但是 一个很好的机会,你甚至不会注意到在 执行时间,除非你和一个非常非常大的 收集尽管时差很大,我还是倾向于选择 在某些情况下,如果允许我 通过避免额外的循环,在实现中保持优雅 我写的脚本中的括号

更新了与以下内容相关的示例代码段:

结果:

---------------
Compression          : CCITT Group 4
Width                : 3180
Height               : 4908
---------------
请注意,echo是以下各项的别名:

此cmdlet通常在脚本中用于显示字符串和其他内容 控制台上的对象。但是,因为默认行为是 在管道末端显示对象,通常不显示 必须使用cmdlet


请注意,请参见˙'-'*15,而不是---------.

是否最好使用实际的cmdlet替换这些echo项?惊人数量的人不知道echo是一个别名。。。而且它不是写主机的别名。//此外,OP似乎需要几行破折号,因此这看起来是演示字符串乘法的好地方。[咧嘴笑]
# Get a collection of processes
$processes = Get-Process
# Convert the objects in that collection into their string equivalent
$processes.foreach([string])
$var = $exeoutput.trim() | Select-String "Height|Width|Compress"
'-' * 15
$var.foreach([string])
'-' * 15
---------------
Compression          : CCITT Group 4
Width                : 3180
Height               : 4908
---------------