![如何将文件名改为大写并将扩展名改为小写?](https://linux22.com/image/1507459/%E5%A6%82%E4%BD%95%E5%B0%86%E6%96%87%E4%BB%B6%E5%90%8D%E6%94%B9%E4%B8%BA%E5%A4%A7%E5%86%99%E5%B9%B6%E5%B0%86%E6%89%A9%E5%B1%95%E5%90%8D%E6%94%B9%E4%B8%BA%E5%B0%8F%E5%86%99%EF%BC%9F.png)
我有一些如下所示的文件:
输入:对象名称.TXT
我想使用批处理文件将文件的名称转换为大写,而扩展名应为小写。请帮助我如何转换我的对象名称,如下所示
输出:OBJECTNAME.txt
我需要转换 Windows 中的对象名称以便在 Solaris 和 Linux 中使用。
答案1
不是批处理脚本而是 PowerShell 脚本:
# Get all items in the current directory
Get-ChildItem | %{
# Construct a new file name
$newFilename = ($_.BaseName.ToUpper())+($_.Extension.ToLower());
# Move the file
Move-Item $_ $newFilename
}
答案2
你可以使用ReNamer 的“案例”重命名规则:
大小写:全部大写(跳过扩展名),扩展名小写
您可以将规则保存为预设,并使用它来通过命令行以及批处理文件重命名文件/文件夹,例如ReNamer.exe /rename <preset> <files-and-directories>
答案3
抱歉,因为我无法评论,但你可以用一行代码来做:
Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }
答案4
找到了另一种方法:
Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}