Справка по переименованию файла сценария powershell - PullRequest
0 голосов
/ 12 августа 2011

Я создаю сценарий для переименования файлов в папке, используя предварительно предоставленный префикс в сочетании с инкрементным 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

Я думаю, что я близок, но что-то просто заставляет его упасть

1 Ответ

0 голосов
/ 12 августа 2011
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
}
...