我有以下powershell脚本: -
$Files = gci "e:\sourcecontrolledprojects\genericsolution\genericsolution" -recurse | Where {$_.extension -eq ".dll"}
$Files | Format-Table FullName |
如何过滤此选项仅返回文件名中包含test的Dll,并将每个Dll路径写入文本文件中的新行?
由于
答案 0 :(得分:1)
$Files = gci "e:\sourcecontrolledprojects\genericsolution\genericsolution" -recurse -filter "*test*.dll"
$Files | foreach-object {$_.fullname} | out-file testdll.txt
答案 1 :(得分:1)
试试这个:
gci e:\sourcecontrolledprojects\genericsolution\genericsolution -Include "*test*.dll" -Recurse |
select -expand fullname | out-file test.txt
谨慎使用您尝试使用的Format-Table
。一旦你这样做,那之后你要管道的是格式化对象而不是你想要的原始对象。如果要在主机上格式化输出,请仅将其用作最后一步。
答案 2 :(得分:1)
我的回答是@manojlds和@ jon的组合。使用filter参数,展开路径并以流方式将其写入文本文件(而不是先将输出分配给变量)。为了便于阅读,代码分为两行:
$path = 'e:\sourcecontrolledprojects\genericsolution\genericsolution'
gci $path -filter *test*.dll -recurse | select -expand fullname | out-file .\dlls.txt