脚本重命名所有文件&目录为小写(包括unicode)

时间:2017-11-30 03:56:22

标签: windows powershell lowercase

(1) 我有大约200个目录,可能有1000个子目录,包含10,000个文件。

我希望保持名称不变,但将它们全部更改为小写,包括Unicode字符,例如'É'(到'é')。

您能告诉我们如何通过PowerShell完成这项工作吗?这是我自己的电脑,我有管理员权限。

2 个答案:

答案 0 :(得分:1)

我相信大多数人都可以写这个,但想法是你写的。所以我们将指出正确的方向。

使用Get-ChildItem-Recurse开关获取目录下的所有文件和文件夹。

使用ToLower()方法将字符串转换为小写。

使用Rename-Item重命名您想要的文件夹或目录。

我尝试了它,它也适用于unicode。您可能需要以不同方式处理文件和文件夹。我不得不。

编辑: 对于文件:

Get-ChildItem C:\temp -Recurse -File | ForEach-Object{ Rename-Item -Path $_.FullName -NewName $_.name.ToLower()}

答案 1 :(得分:1)

我希望用于文件夹和文件的命令有帮助。

for /r "G:\Teste" %D in (.) do @for /f "eol=: delims=" %F in ('dir /l/b/ad "%D"') do @ren "%D\%F" "%F"
for /r "G:\teste" %D in (.) do @for /f "eol=: delims=" %F in ('dir /l/b/a-d "%D"') do @ren "%D\%F" "%F"