Windows CMD:为所有子文件夹添加带空格的后缀

时间:2018-02-14 12:52:23

标签: cmd rename

这个问题在这里看起来像这样 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"

1 个答案:

答案 0 :(得分:1)

这在PowerShell中非常简单。分别使用BaseNameExtension成员。如果您确信要正确重命名文件,请从-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