powershell - Powershell gci 在一个函数中。将带有通配符的文件名变量传递给函数
问题描述
我试图将参数传递给一个函数来做 get-childitem。好像做不到。此外,我无法删除我的帖子,所以我只是用我试图弄清楚的基本解释清空它。似乎我无法传递带有通配符的文件名变量。到目前为止,这里的每个答案都对我没有帮助,因为我尝试过的所有内容都会生成一个零字节文件。
Function getFilenames($facPath,$facility,[string[]]$fileIncludes) {
gci $facPath\* -Include $fileIncludes -Recurse |
Select-Object @{ expression={$_.name}; label='FILENAME' },
@{Name='FACILITY';Expression={$facility}} |
Export-Csv -NoTypeInformation -Path $scriptPath"\filenames.txt" -Append
}
getFilenames $vPath "Building 1" $vFiles
解决方案
您可以将您的功能更新为以下内容。我删除了几个Select-Object
命令,因为您只需要一个。
Function getFilenames($facPath,$facility,[string[]]$fileIncludes) {
gci $facPath -Include $fileIncludes |
Select-Object @{ expression={$_.name}; label='FILENAME' },
@{Name='FACILITY';Expression={$facility}} |
Export-Csv -NoTypeInformation -Path "$scriptPath\filenames.txt" -Append
}
你可以像下面这样运行它:
getFilenames "c:\folder\facilities\*" "manufacturing" "ab*","cd*","ef*"
PowerShell 通过各种表示法确定字符串数组:
"string1","string2","stringx"
: 逗号分隔列表[string[]]$stringArray
: 打字或铸造@("string1","string2","string3")
: 数组子表达式
有关使用数组的更多信息,请参阅关于数组。
推荐阅读
- javascript - 键入数组中的第一项后,键入动画光标消失
- angular - ionic v4(beta) / ionic4 - 需要的最低节点/角度版本是多少?
- laravel-5 - 如何在 Laravel 中按日期排序消息
- python-3.x - 将抓取的数据导出到 CSV
- python - 如何在 NMF Python 上执行交叉验证
- java - ScheduledExecutorService 及其调度方法。这个怎么运作?
- mongodb - 在 MongoDB 聚合 $addFields 中按条件选择数组元素
- azure - Azure DataLake (ADLS) 批量下载错误请求
- excel - 如何获取 VBA 代码以检查单元格值是否与列标题匹配并从同一行中的另一个单元格返回值?
- python - Numpy lomax 均值函数返回“inf”而不是值