knallex
Goto Top

File Rename für Sharepoint

Hallo,

ich habe ein großeres Verzeichnis (geschätzt 60 GB) mit unterschiedlichsten Daten.
Beim Hochladen in den Sharepoint bekomme ich immer Abbrüche.

Ich brauche ein Tool, welches Pfade/Ordner/Dateien bearbeiten kann. (Automatisch)
Sonderzeichen sollen entfernt werden, Dateinamen korrigiert werden....

Sharepoint lässt bestimmte Zeichen nicht zu....
Sharepoint - Zeichen die nicht verwendet werden dürfen

Habt ihr Ideen für mich?
(Bin leider kein Script Kind)

Content-ID: 358640

Url: https://administrator.de/contentid/358640

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

Voiper
Voiper 19.12.2017 um 13:47:55 Uhr
Goto Top
Hi,

da wirst du um ein batch oder powershell-script nicht rumkommen.

Gruß, V
colinardo
colinardo 19.12.2017 aktualisiert um 17:17:27 Uhr
Goto Top
Servus,
mal als Schnellschuss ohne Log & Co mit den Angaben aus dem Link in ein Powershell-Skript umgesetzt (Illegale Zeichen/Namen werden ersetzt)
$rootfolder = 'D:\Daten'  
$regex = '(\.files|_files|\-Dateien|_fichiers|_bestanden|_file|_archivos|\-Filer|_tiedostot|_pliki|_soubory|_elemei|_ficheiros|_arquivos|_dosyalar|_datoteke|_fitxers|_failid|_fails|_bylos|_fajlovi|_fitxategiak)$|^_vti_|\.{2,}|\.$|^\.|^_|[\\/:?<>|"*~#%&{}+]'  
gci $rootfolder -Force -Recurse -PipelineVariable obj | ?{$_.Name -match $regex} | sort {$_.Fullname.length} -Desc | %{
     $newname = $_.Name -replace $regex,''  
     while($newname -match $regex){$newname = $newname -replace $regex,''}  
     $cnt = 1
     if ($newname -match '^\s*$'){  
        $getnewname = { @{$true="folder";$false="file"}[$obj.PSIsContainer] + "_$cnt" }  
        $newname = . $getnewname
        while(Test-Path "$([IO.Path]::GetDirectoryName($_.Fullname))\$newname"){$cnt++;$newname = .$getnewname}  
     }else{
        $getnewname = { $newname + "_$cnt" }  
        while(Test-Path "$([IO.Path]::GetDirectoryName($_.Fullname))\$newname"){$cnt;$newname = .$getnewname}  
     }
     $_ | rename-item -NewName $newname -verbose -whatif
}
Skript ist durch die Verwendung des -whatif Parameters noch nicht scharf geschaltet und kann somit unbeschadet auf eine Verzeichnissturktur angewendet werden es zeigt dann nur welche Dateien /Ordner umbenannt werden auf der Konsole an, erst wenn der Parameter entfernt wird macht das Skript ernst.

Grüße Uwe

-edit- Update.
Knallex
Knallex 19.12.2017 um 17:06:49 Uhr
Goto Top
Vielen Dank.
Überlege ich nachher gleich zu testen.