-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReplaceNonASCII - fileNamesV2.ps1
37 lines (30 loc) · 2.88 KB
/
ReplaceNonASCII - fileNamesV2.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Prompt the user to enter the directory path
$path = Read-Host "Enter the directory path (include quotes if the path contains spaces)"
# Remove any quotes from the path
$path = $path -replace '"', ''
# Get all items in the specified directory and its subdirectories recursively
$items = Get-ChildItem -Path $path -Recurse
$totalSurveys = $items.Count / 2
$renamedItems = 0
# Iterate through each item
foreach ($item in $items) {
# Replace special characters with their corresponding regular ones
$newName = $item.Name.Replace("é", "e").Replace("è", "e").Replace("ô", "o").Replace("ö", "o").Replace("à", "a").Replace("î", "i").Replace("ë", "e").Replace("ç", "c").Replace("ê", "e").Replace("ü", "u").Replace("â", "a").Replace("ù", "u").Replace("û", "u").Replace("ï", "i").Replace("ä", "a").Replace("É", "E").Replace("È", "E").Replace("Ô", "O").Replace("Ö", "O").Replace("À", "A").Replace("Î", "I").Replace("Ë", "E").Replace("Ç", "C").Replace("Ê", "E").Replace("Ü", "U").Replace("Â", "A").Replace("Ù", "U").Replace("Û", "U").Replace("Ï", "I").Replace("Ä", "A").Replace("À", "A").Replace("Â", "A").Replace("Ã", "A").Replace('Ä', 'A').Replace("Ã…", "A").Replace("Æ", "AE").Replace("Ç", "C").Replace("È", "E").Replace("É", "E").Replace("Ê", "E").Replace("Ë", "E").Replace("ÃŒ", "I").Replace("ÃŽ", "I").Replace("Ñ", "N").Replace("Ã’", "O").Replace('Ó', "O").Replace('Ô', 'O').Replace("Õ", "O").Replace("Ö", "O").Replace("×", "x").Replace("Ø", "O").Replace("Ù", "U").Replace("Ú", "U").Replace("Û", "U").Replace("Ãœ", "U").Replace("Þ", "Th").Replace("ß", "ss").Replace("á", "a").Replace("â", "a").Replace("ã", "a").Replace("ä", "a").Replace("Ã¥", "a").Replace("æ", "ae").Replace("ç", "c").Replace("è", "e").Replace("é", "e").Replace("ê", "e").Replace("ë", "e").Replace("ì", "i").Replace("Ã", "i").Replace("î", "i").Replace("ï", "i").Replace("ð", "d").Replace("ñ", "n").Replace("ò", "o").Replace("ó", "o").Replace("õ", "o").Replace("ö", "o").Replace("÷", "÷").Replace("ø", "o").Replace("ù", "u").Replace("ú", "u").Replace("û", "u").Replace("ü", "u").Replace("ý", "y").Replace("þ", "th").Replace("ÿ", "y")
$newName = $newName -replace 'Ã', 'a'
# Check if the new name is different from the old one
if ($newName -ne $item.Name) {
# Rename the item
Rename-Item -Path $item.FullName -NewName $newName
$renamedItems++
Write-Host "Renamed item:"
Write-Host "$($item.Name) ->"
Write-Host "$($newName)"
Write-Host "----------------------"
Write-Host ""
}
}
Write-Host "Total surveys processed: $totalSurveys"
Write-Host "Items patched: $renamedItems"
# Prompt user to press Enter to close the script
Write-Host "Press Enter to exit..."
$null = Read-Host