gpt4 book ai didi

powershell - 如何使用Powershell在文件名中添加连续编号的前缀?

转载 作者:行者123 更新时间:2023-12-02 23:11:49 38 4
gpt4 key购买 nike

我正在使用以下脚本重命名目录中的文件。它可以将文件重命名为BX1,BX2…BXn。但是,我希望将此新名称添加到现有文件名之前。

$i = 1; dir *.txt | %{Rename-Item $_ -NewName ('BX{0:D4}.txt' -f $i++)}

换句话说我想要
  • Apple.txt
  • Dog.txt
  • Zebra.txt

  • 出现为
  • BX001 Apple.txt
  • BX002 Dog.txt
  • BX003 Zebra.tx

  • 我尝试更改为 'BX{0:D4}.txt'+ $_.Name'BX{0:D4}.txt'+ $_.FullName'BX{0:D4}.txt'+ $_.Directory.Name,但随后收到消息,提示无法重命名指定的目标,因为它表示路径或设备名称。

    最佳答案

    您可以使用BaseName属性和另一种格式:

    $i = 1; dir *.txt | %{Rename-Item $_ -NewName ('BX{1:D4} {0}.txt' -f $_.BaseName, $i++)}

    另外,您可以使用 ForEach-Object cmdlet的 -Begin参数初始化变量:
    Get-ChildItem *.txt | 
    ForEach-Object -Begin{ $i = 1; } -Process {
    Rename-Item $_ -NewName ('BX{1:D4} {0}.txt' -f $_.BaseName, $i++)
    }

    关于powershell - 如何使用Powershell在文件名中添加连续编号的前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37301734/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com