Dear Olaf,
yes that is true. I have to think over it. Indeed I already have a whole bunch of different runs.
But they consume lots of time and ressources. Because there are more than 4000 files. And I don’t have to do it only once but regularily.
##########################################
# Mehrere Dateien umbenenennen mit Regex #
##########################################
# Convert Whitespace after Az to _
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=[0-9]{4}.[0-9]{1,2})\s','_'}
# Convert Whitespace after Date
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=[0-9]{4}.[0-9]{1,2}(\s|_)[0-9]{2,4}(_|-|\.)[0-9]{2}(_|-|\.)[0-9]{2})\s','_'}
# Bindestrich im Datum ersetzen durch _
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=[0-9]{4}\.[0-9]{1,4}(_|\s)[0-9]{2})-','_'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=[0-9]{4}\.[0-9]{1,4}(_|\s)[0-9]{2}(_|-|\s)[0-9]{2})-','_'}
# Replace 4 digit year by two digits
# Convert 4 digit year to 2 digit year
# first two digits from 4 digits year format
$regex= "(2|1)[0-9]{1}(?=([0-9]{2}_[0-9]{2}_[0-9]{2}))"
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace $regex,''}
# Missing dates. Replace missing dates with creation dates of files
# Don't forget the backtick` in front of $1
# Does not work with moved or copied files
# ignore folders
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '([0-9]{4}\.[0-9]{1,2}-?([0-9]{1,2})?)_(?![0-9]{2,4}_[0-9]{2}_[0-9]{2})',"`$1_$($_.CreationTime.toString('yy_MM_dd'))_"}
# Replace uncommon shortcuts in files and directories
### koko, DB, DAB
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(ko-ko|koko)(?=(\s|_|-|\.))','konfessionell-kooperativ'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(BH|BDH)(?=(\s|_|-|\.))','Bildungshaus'}
###################################### bis hier 10.03.22 09:21 ######################################################
################ Probleme mit DB da mehrere verschiedene Sachverhalte ######################################
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(JÜL)(?=(\s|_|-|\.))','jahrgangsübergr Klasse'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(SBW)(?=(\s|_|-|\.))','Schulbezirkswechsel'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(UK)(?=(\s|_|-|\.))','unterstützte Kommun'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(BWK)(?=(\s|_|-|\.))','Bildungswegekonf'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(TOL)(?=(\s|_|-|\.))','techn Oberlehrer'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(FOL)(?=(\s|_|-|\.))','Fachoberlehrer'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(FB)(?=(\s|_|-|\.))','Fachbetreuer'}
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(FOL)(?=(\s|_|-|\.))','Fachoberlehrer'}
##### 10.03.2022 läuft ####
Get-ChildItem -File -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(JB)(?=(\s|_|-|\.))','Jugendbegleiter'}
##### Noch nicht zu Ende #####
# directories
# check [string]::IsNullOrEmpty(...)
# if (-not ([string]::IsNullOrEmpty($version)))
#-erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(ko-ko|koko)(?=(\s|_|-|\.))','konfessionell-kooperativ'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(BH|BDH)(?=(\s|_|-|\.))','Bildungshaus'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(JÜL)(?=(\s|_|-|\.))','jahrgangsübergr Klasse'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(SBW)(?=(\s|_|-|\.))','Schulbezirkswechsel'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(UK)(?=(\s|_|-|\.))','unterstützte Kommun'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(BWK)(?=(\s|_|-|\.))','Bildungswegekonf'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(TOL)(?=(\s|_|-|\.))','techn Oberlehrer'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(FOL)(?=(\s|_|-|\.))','Fachoberlehrer'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(FB)(?=(\s|_|-|\.))','Fachbetreuer'} -erroraction 'silentlycontinue'
Get-ChildItem -Directory -Recurse | Rename-Item -PassThru -NewName { $_.Name -replace '(?<=(\s|_|-))(JB)(?=(\s|_|-|\.))','Jugendbegleiter'} -erroraction 'silentlycontinue'
Thank you, good man! Should I mark the question as solved? By the way howto propperly logout?