- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
.\exam-6ren">
我正在我的 Powershell 脚本之一中执行以下命令:
New-Item -ItemType Directory -Path "MyFolder"
输出看起来像这样:
PS C:\> .\example.ps1
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/7/2015 9:52 PM MyFolder
PS C:\>
总共有八行输出。我的脚本作为 msbuild 文件中任务的一部分运行,而 Visual Studio 中的输出空间有限,因此这非常令人烦恼。
现在我明白我可以通过管道输出到 Out-Null
来抑制所有这些行,但我确实喜欢一些关于命令发生。一行反馈是最佳的。
我想这个解决方法可能有效:
Write-Host "Creating folder MyFolder"
New-Item -ItemType Directory -Path "MyFolder" | Out-Null
但是一直记住/写这些是很乏味的。
我猜另一种解决方法是创建某种包装器功能,但由于 New-Item
只是一个示例,我必须编写许多包装器。相反,我正在寻找一种适用于 ***-Item
cmdlet 的技术。
有什么方法可以稍微降低像 New-Item
这样的命令的详细程度,而不必求助于解决方法?
我已经浏览过the New-Item
documentation但没有发现任何线索。也许我的解决方法是实现这一目标的唯一方法?
底线:是否有一种惯用的方法将 New-Item
输出压缩为一行?
最佳答案
New-Item
的管道输出是一个 System.IO.DirectoryInfo
对象,并且默认处理将 DirectoryInfo
发送到控制台是您看到的详细输出。
PS> cd d:\temp
PS> $output = New-Item -ItemType Directory -Path "MyFolder"
PS> $output
Directory: D:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2015-12-07 13:15 foo
(这里的 $output
变量是多余的;我只是在示例中使用它来缩短行并避免在测试时创建一堆新目录。:)
减少冗长的一种方法是使用管道过滤器仅输出您感兴趣的数据,而不是整个 DirectoryInfo
。将其格式化为字符串,输出只需要一行。通常这将是属性 Name
或 FullName
PS> $output | Select-Object -ExpandProperty FullName
D:\temp\MyFolder
创建日志文件时,了解操作是什么也很有用。您可以使用 foreach
从 DirectoryInfo 对象创建自定义字符串。
PS> $output | % { "Created directory '$($_.Name)' in parent '$($_.Parent.FullName)'" }
Created directory 'MyFolder' in parent 'D:\Temp'
而且,如果您打算经常这样做,您甚至可以为其创建一个简写过滤器函数。
PS> filter Format-DirectoryOperation($verb) {
>> "$verb directory '$($_.Name)' in parent '$($_.Parent.FullName)'"
>> }
PS> $output | Format-DirectoryOperation('Created')
Created directory 'foo' in parent 'D:\temp'
关于powershell - 将 Powershell 命令的冗长程度降低到最小形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143315/
我目前正在研究数据库,我看到 degree 和 cardinality 用作相同的术语,或在某些其他学位定义为否。关系中涉及的实体的数量,并进一步分类为一元、二元和三元。 某些放置度数定义为关系类型的
我是一名优秀的程序员,十分优秀!