C:\test我的目标是在名为 的日志文件中显示目录中的项目log.txt,而不显示找到的文件的文件扩展名,例如.zip、.pdf等。
到目前为止我的脚本:
Get-ChildItem -Path C:\Test\ -name |Out-File C:\test2\log.txt
Run Code Online (Sandbox Code Playgroud)
如何使.log文件不显示文件夹中找到的文件的扩展名C:\test?
使用BaseName属性而不是Name:
Get-ChildItem -Path C:\Test\ | Select-Object -ExpandProperty BaseName | Out-File C:\test2\log.txt
Run Code Online (Sandbox Code Playgroud)
由于 cmdlet 没有内置-BaseName属性Get-ChildItem,因此您需要使用Select-Object. 展开属性允许您仅获取所选属性的值,而不获取标头。
另一种获取价值的方法是这样BaseName使用:.BaseName
(Get-ChildItem -Path C:\Test\).BaseName | Out-File C:\test2\log.txt
Run Code Online (Sandbox Code Playgroud)
该形式较短,但我个人更喜欢第一个形式,因为它具有可读性,并且无需记住周围的大括号()。
如果您想检查您拥有的对象的可能属性(及其值),您也可以使用Select-Object:
Get-ChildItem -Path C:\Test\ | Select-Object -ExpandProperty BaseName | Out-File C:\test2\log.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |