如何一次性将文件夹中的所有文件和文件夹重命名为小写名称?

如何一次性将文件夹中的所有文件和文件夹重命名为小写名称?

我有一个文件夹,里面有很多纹理和东西,我需要将它们重命名为小写,有什么办法可以将此文件夹中的所有文件和文件夹重命名为小写名称吗?编辑:这与类似的帖子不同,因为该答案中的命令只会一次对一个文件夹执行此操作,而不是对顶部文件夹中的所有文件夹执行此操作

答案1

我在一篇类似的帖子的评论中发现了这一点,起初我以为只是重命名了执行文件夹中的内容。它似乎有效

 Get-ChildItem "C:\path\to\folder" -recurse | 
  Where {-Not $_.PSIsContainer} | 
  Rename-Item -NewName {$_.FullName.ToLower()}

答案2

尝试这个 powershell 代码:

Get-childItem "Filepath" -Recurse | Rename-Item -NewName {$_.Basename.tostring().tolower() + $_.extension}

这将递归地将“Filepath”中的所有文件和文件夹重命名为小写。

答案3

基于 有没有办法批量将文件重命名为小写,下面是递归执行文件和文件夹的公式:

for /f "Tokens=*" %f in ('dir /l/b/s') do (rename "%f" "%f")

答案4

PowerShell:详细、文件

$Source = 'c:\TopFolder'
( Get-ChildItem $Source -File -Recurse ) | Rename-Item -NewName { $_.Name.ToLower() }

Key-Banger,文件:

(gci 'c:\TopFolder' -af -r) | ren -new { $_.Name.ToLower() }

对于文件夹,为了避免Source/Destination错误,您必须重命名为临时值作为中间步骤。以下是一种方法:

gci -ad -Recurse | %{
$Lower = $_.Name.ToLower()
$_ | ren -new {(Get-Date).Ticks } -passthru | ren -new {$Lower}
}

相关内容