0

我正在制作一个脚本来重命名文件夹中的文件,使用预先提供的前缀和一个附加的 6 位值,当与前缀连接时给出文档标题。

我需要脚本从提供的文件夹中遍历文件列表,并使用前缀更改每个文件名,每次都会添加增量编号,初始提供的编号是第一个添加编号。

我很接近,但我一直有一些错误,我不确定我哪里出错了。请指教。

Write-host "Please enter prefix:"
[String]$strPrefix = read-host

Write-host "Please enter incrimental value:"
[int]$intInc = read-host

Write-host "Please enter Files folder:"
[String]$strFiles =  "C:\scripts\files"
#$items = Get-ChildItem -Path $strFiles
$items = $strFiles

$intInc

#for each file in $strFiles
foreach ($file in $items )
{
    $newName = $strPrefix + ('0' * (6 - $intInc.ToSTring().Length)) + ($intInc++).ToString()

    if ($extOnly.length -eq 0) 
    {
        Rename-Item New-Name{$file -replace  '$newName'}
    }
    else 
    {
        Write-host "NewName $newName$extOnly"

        Rename-Item New-Name{$file -replace '$newName$extOnly'}
    } #end else

    $file

}#end for

我想我很接近但有些东西让它倒了

4

1 回答 1

0
Write-host "Please enter prefix:"
[String]$strPrefix = read-host

Write-host "Please enter incrimental value:"
[int]$intInc = read-host

Write-host "Please enter Files folder:"
[String]$strFiles =  "C:\temp\files"

$files = get-childitem $strFiles -recurse

ForEach ($file in $files) {
$intIncPadded = "{0:D6}" -f $intInc
$newName = "$strPrefix$intIncPadded" + $file.Extension
Rename-Item $file.FullName $newName 
$intInc = $intInc + 1
}
于 2011-08-12T13:33:59.833 回答