你们可以解决吗?我很确定这只是一个小的语法错误,因为我是菜鸟...无论输入什么($ name),我总是得到“错误的文件”。
$name = "DE123456.zip"
if ($name -contains "DE")
{
Get-ChildItem C:\test\$name |
% {
$to = $_.basename.length - 2
$path = $_.basename.substring( 0, $to)
& "C:\test\7z.exe" "x" "-y" $_.fullname "-oC:\test\$path"
}
}
ELSE
{
"Wrong file"
}
答案 0 :(得分:2)
在脚本运行之前,会发出语法错误。
您的问题是-contains
作为运算符仅检查数组中是否存在值。您希望字符串上的.Contains
方法代替:
if ($name.Contains('DE')) ...
答案 1 :(得分:0)
更改
if ($name -contains "DE")
与
if ($name -match "DE")
和
get-help about_comparison_operators
了解其中的差异。