小编Gre*_*g K的帖子

文件名包含某些文本

我知道这是一个新问题,但我找不到任何东西.我认为问题可能与变量类型问题有关?

我正在尝试查看文件名,看看文件名中是否包含pattern1.如果是,则将模式文本替换为"TEST".

现在它没有错误,但它跳过了IF,我确实有目录中的模式文件.

无法插入实际代码,所以这里是一个示例

$pattern1 = "January"
$pattern2 = "December 31"
$path = "C:\Users\...\METRICS-TEST\Metrics 2014\January 2014 Client Metrics"

$search_results = Get-ChildItem -Path $path | Where-Object { ((! $_.PSIsContainer))}
foreach ($file in $search_results) {
    if($file.Name -contains $pattern1){
        $new_name = $file.Name -replace $pattern1, "TEST1"
        Rename-Item -Path $file.FullName -NewName $new_name
    }else{
        $new_name = $file.Name -replace $pattern2, "TEST2"
        Rename-Item -Path $file.FullName -NewName $new_name
    }
}
Run Code Online (Sandbox Code Playgroud)

powershell powershell-2.0

8
推荐指数
2
解决办法
4万
查看次数

标签 统计

powershell ×1

powershell-2.0 ×1