Windows 10 PowerShell文件重命名命令以大写形式[重复]

问题描述 投票:0回答:2

我试图在此站点上找到答案,但没有成功。

我有243个.png文件,我想进行大量重命名,因为显然地,一件一件地做会很乏味。我没有尝试过任何命令或脚本,因为我什至不知道如何在Google搜索后开始。我知道如何使用PowerShell-只是不编写自己的命令/脚本。好的,话虽如此,这就是我在说的。

当前文件是:

[afghanistan flag.png奥兰群岛flag.png秘鲁flag.png

它们需要更改为:

[Afghanistan Flag.png奥兰群岛Flag.png秘鲁Flag.png

非常感谢。

windows powershell
2个回答
0
投票

类似这样的方法应该起作用:

$files = @('afghanistan flag.png'
 'aland islands flag.png'
 'peru flag.png')

$files | ForEach-Object {
  $parts = $_ -split " " | ForEach-Object { 
  "$($_.substring(0,1).toupper())$($_.substring(1).tolower())" }
  $newfilename = $parts -join ' '
  Write-Host "This is the new name: $newfilename"
}

输出:

This is the new name: Afghanistan Flag.png
This is the new name: Aland Islands Flag.png
This is the new name: Peru Flag.png

0
投票

使用cd命令输入目录:cd MYPATH

$names = (ls).name
foreach ($name in $names) {
    $name_split = $name.split(" ")
    $old_name = $name
    $name = ""
        foreach ($name_part in $name_split) {
            $name_part = $name_part.substring(0,1).toupper()+$name_part.substring(1).tolower()    
            $name += ($name_part + " ")
        }
    move $old_name $name.substring(0,$name.length - 1)
}

这应该为您工作。考虑到可以通过Powershell自动执行一些无聊的任务对您有好处。让我知道怎么回事!

© www.soinside.com 2019 - 2024. All rights reserved.