【问题标题】:Windows CMD: add suffix with spaces to all subfoldersWindows CMD:为所有子文件夹添加带空格的后缀
【发布时间】:2018-07-25 01:23:41
【问题描述】:

这个问题有点像这里的这个 Windows-cmd-add-suffix-to-all-files-in-folder,但它有一些我无法克服的额外元素。

我有一个主文件夹,包含许多子文件夹,有很多 .xlsb 文件,我希望在 eaxh 文件中添加一个后缀“2018”,例如重命名名为“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”

【问题讨论】:

    标签: cmd rename


    【解决方案1】:

    这在 PowerShell 中非常简单。分别使用BaseNameExtension 成员。如果您确信文件将被正确重命名,请从 Rename-Item cmdlet 中删除 -WhatIf

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多