我的脚本正常使用当前数组值;但是,实际的文件名将在我要忽略的前缀中包含大约五个字符:其中一个文件名的示例:03_R_ __ 1087010076_9999992_35_401_01_20121107_134029_0667.I00.asd。我要解析的文件名的唯一部分是“108701 ####”忽略前缀03_R ___ 。
$source ="\\127.0.0.1\baunhof\*"
$File_Array_8HP70=@("108701")
$File_Array_8HP70X=@("108702")
$File_Array_9HP48=@("109401", "1094080", "1094090")
$File_Array_9HP48X=@("109402", "1094091", "1094082", "1094092")
$File_Array_8HP70_start = $File_Array_8HP70 | % {$_+"*"}
$File_Array_8HP70X_start = $File_Array_8HP70X | % {$_+"*"}
$File_Array_9HP48_start = $File_Array_9HP48 | % {$_+"*"}
$File_Array_9HP48X_start = $File_Array_9HP48X | % {$_+"*"}
$files = get-childitem $source -include $File_Array_8HP70_start -recurse
$files1 = get-childitem $source -include $File_Array_8HP70X_start -recurse
$files2 = get-childitem $source -include $File_Array_9HP48_start -recurse
答案 0 :(得分:2)
您可以通过手动过滤忽略前N个字符:
get-childitem $source -recurse | where { $_.Name -like "???????108701*" }
如果你想通过这种方式枚举一系列模式,可以采用以下方法:
get-childitem $source -recurse | foreach {
foreach($pattern in $likes) {
if($_.Name -like $pattern) {
$_
break;
}
}
}