使用PowerShell重命名文件

时间:2014-05-21 15:22:20

标签: powershell

我有以下格式的文件:  从400或Z400开始

  • 40011111.mus
  • 40011112.mus
  • Z40011112.mus

我需要重命名如下:  以 Z100

开头
  • Z10011111.mus
  • Z10011112.mus
  • Z10011112.mus

目前我有以下powershell功能。但它添加Z作为前缀。如何更改代码以便在必要时添加Z并将其更改为400?

function renameFiles{
    echo " Start Rename Files" 
    get-childitem -path $mapfolder | 
        Where-Object {$_.extension -eq ".ditamap"} | 
        foreach-object {
           echo "  Renaming: $_ --> Z$_"
           ren "$mapfolder\$_" "$mapfolder\Z$_"
    }
}

1 个答案:

答案 0 :(得分:1)

请勿使用echo并查看使用ifswitch等内容来处理各种情况:

function Rename-DitmapFile { get-childitem -path $mapfolder -Filter *.ditmap | foreach-object { switch ($_) { {$_.name.startswith('4')} {Rename-Item -Path $_.FullName -NewName ($_.Name -replace '4','Z1')} {$_.name.startswith('Z4')} {Rename-Item -Path $_.FullName -NewName ($_.Name -replace 'Z4','Z1')} } } }