这个问题在这里看起来像这样 Windows-cmd-add-suffix-to-all-files-in-folder,但它还有一些我无法克服的其他因素。
我有一个主文件夹,包含许多子文件夹,有很多.xlsb文件,我希望添加一个后缀" 2018"到eaxh文件,例如重命名名为" abc.xlsb"的文件后将被称为" abc 2018.xlsb"。我在查找代码时遇到问题,在命令行中创建一个脚本,为所有子文件夹执行此操作。 现在,这就是我对一个文件夹的所有内容:
重命名* .xlsb" * 2018.xlsb"
,但结果名称为,例如" a.xlsb"出来" a.xlsb 2018.xlsb"。
另外,我该如何为所有文件夹执行此操作?
编辑:我找到了一个重命名所有子文件夹的命令:
for / r%x in(* .xlsb)do ren"%x" * .xlsb
,但是
for / r%x in(* .xlsb)do ren"%x" " * 2018.xlsb"
给出,例如对于一个文件" abc.xlsb" - > " abc.xlsb 2018.xlsb"
答案 0 :(得分:1)
这在PowerShell中非常简单。分别使用BaseName
和Extension
成员。如果您确信要正确重命名文件,请从-WhatIf
cmdlet中删除Rename-Item
。
Get-ChildItem -File -Recurse -Filter '*.xlsd' |
ForEach-Object {
$newname = $_.BaseName + ' 2018' + $_.Extension
Rename-Item -Path $_.FullName -NewName $newname -WhatIf
}
如果必须从cmd.exe shell运行此命令,请将上面的PowerShell代码放入renappend.ps1等文件名中。然后如图所示运行它。
powershell -NoLogo -NoProfile -File renappend.ps1