Está en la página 1de 1

 Intr-un folder copiezi toate pozele avand numere in nume (ex. foto0001.

jpg,
foto0002.jpg, etc). Sa aibe extensia .jpg sau .jpeg. Numerele nu conteaza unde apar in
nume, dar sa fie in ordine crescatoare si incepand cu 1
 In acelasi folder copiezi fisierul Excel avand numele dorite pe prima coloana a primului
sheet (fara cap de tabel - adica primul nume e deja in celula A1). Nu conteaza numele
fisierului excel
 Pornesti Windows PowerShell. Daca ai o versiune mai veche de Windows si nu-l ai deja,
il poti instala: http://social.techne...rshell-4-0.aspx
 Navighezi la folderul in cauza: cd "C:\pozele_mele"
 Dai paste (prin simplu click dreapta) la scriptul de mai jos
 Admiri noile nume ale pozelor

$files = Get-ChildItem -Filter *.jp*g


$excelFileName = (Get-ChildItem -Filter *.xls*)[0].FullName

$excel = New-Object -ComObject Excel.Application


$workBook = $excel.Workbooks.Open($excelFileName)
$sheet = $workBook.Worksheets.Item(1)
$range = $sheet.UsedRange
$names = $range.Value2
$maxNameIndex = $names.GetLength(0)

$regex = New-Object System.Text.RegularExpressions.Regex('([0-9]+)')


for ($i = 0; $i -le $files.Length; $i++)
{
        $regexMatch = $regex.Match($files[$i].Name)
        if ($regexMatch.Success)
        {
                $fileNumber = [Convert]::ToInt32($regexMatch.Groups[1].Value)

                if ($fileNumber -le $maxNameIndex)


                {
                        $fileFolder =
[System.IO.Path]::GetDirectoryName($files[$i].FullName)
                        $extension =
[System.IO.Path]::GetExtension($files[$i].Name)
                        $name = $names[$fileNumber, 1]
                        $newName = [System.IO.Path]::Combine($fileFolder,
$name + $extension)
                        Rename-Item $files[$i].FullName $newName
                }
        }
}

También podría gustarte