你们能解决吗?我很确定这只是轻微的语法错误,因为我是菜鸟......无论输入($name)是什么,我总是得到"错误的文件"。
$name = "DE123456.zip"
if ($name -contains "DE")
{
Get-ChildItem C:test$name |
% {
$to = $_.basename.length - 2
$path = $_.basename.substring( 0, $to)
& "C:test7z.exe" "x" "-y" $_.fullname "-oC:test$path"
}
}
ELSE
{
"Wrong file"
}
脚本
运行之前会发出语法错误。
您的问题是-contains
作为运算符只检查数组中是否存在值。您希望改为在字符串上使用 .Contains
方法:
if ($name.Contains('DE')) ...
更改
if ($name -contains "DE")
跟
if ($name -match "DE")
和:
get-help about_comparison_operators
要知道区别。