在 Powershell 中将递增的数字添加到文件名开头

在 Powershell 中将递增的数字添加到文件名开头

我文件夹中有一组文件,全部是 pdf。这些文档没有统一的名称,但我希望每个文档前面都有一个数字,后面跟着一个下划线,然后是“TAB”。换句话说,我希望它看起来像这样:

1.01_TAB“fsfsdFSDF”

2.01_TAB“sjfsdjfsd”

ETC。

有人能帮忙吗?以下是我目前得到的信息:

$x=1

Dir *.pdf | Rename-Item -NewName { $x+ $.基本名称+ $.扩展名;-f $x++}

答案1

我猜你实际上并不想要在原始文件名周围加引号。尝试以下代码。在我的测试中,除非 $i 是引用变量,否则它不会在“Newname”脚本块内增加。使用 -WhatIf 参数,您可以安全地测试代码:

$i = [ref]1
gci *.pdf | rename-item -NewName {'{0}.01_TAB {1}' -f $i.value++, $_.Name} -whatif

基思

答案2

$originalFiles = Get-ChildItem "C:\Users\me\Desktop\New folder" -Filter *.txt
$x = 1

ForEach ($originalFile in $originalFiles) {
    Rename-Item -Path $originalFile.FullName -NewName (($originalFile.Directory.FullName) + "\" + $x + $originalFile.Name)
    $x++
}

绝对不是我最好的作品......喝完咖啡后可能会修改一下 - 但它似乎满足了你的需要。

在此处输入图片描述

相关内容