为什么我可以在脚本块外部而不是内部执行命令?
我的最终目标是根据预定义的类别对目录列表进行排序。代码从目录列表中创建一个动态对象,并添加两列。创建的第一列是从名称派生的类别,第二列
那是基于第一个
是以后排序的索引。
实际误差
The hash literal was incomplete.
At line:0 char:0
独立工作代码
$importance = "Hierarchy", "Item", "UPC", "Color", "Price"
$importance.IndexOf('UPC') # returns 2
故障代码
总的任务是做一个目录列表和
最终
列表排序依据
$importance
。通过创建动态列,它将在名为
Index
.
$match = "UPC|Item|Color|Price|Hierarchy"
gci $incrementalTargetDir `
| Select-Object Name, @{label="Category"; Expression= {[regex]::match($_.BaseName, $match).Groups[0].Value}} `
| Select-Object Name, @{label="Index"; Expression= { $importance.IndexOf($_.Category) }
第二次失败
Select-Object
First Select成功返回此数据:
Name Category
---- --------
ColorStyleSize.txt Color
Item.txt Item
FieldProductHierarchy.txt Hierarchy
UPC.txt UPC
PriceAdjust.txt Price
还尝试添加范围
script:
结果相同:
â¦. Expression= { $script:importance.IndexOf($_.Category)