2021-05-08, 09:54
Sharepoint-Server haben ein Maximum von 256 Zeichen für Pfadangaben, Leerzeichen in Datei- und Ordnernamen werden dabei als „%20“ dargestellt, sodass für jedes Leerzeichen drei Zeichen „draufgehen“. Mit dem folgenden Powershell-Skript kann man die Dateien in einem Verzeichnis identifizieren, die das Limit vermutlich sprengen.
Die erzeugte CSV-Datei hat drei Spalten: Pfadlänge, Pfadlänge wenn Leerzeichen als „%20“ dargestellt werden, Pfad.
gci "K:\inputpath" | Select @{N="Path Length";E={$_.FullName.Length}}, @{N="URL Length";E={$_.FullName.replace(' ','+++').Length}},
Fullname | Export-Csv -NoTypeInformation -Delimiter ";" -Path "t:\ABC\filelaengen.csv" |
gci "K:\inputpath" | Select @{N="Path Length";E={$_.FullName.Length}}, @{N="URL Length";E={$_.FullName.replace(' ','+++').Length}},
Fullname | Export-Csv -NoTypeInformation -Delimiter ";" -Path "t:\ABC\filelaengen.csv"
Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined.
Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.
More Posts - Website
2018-01-14, 17:13
Hier ein Code-Schnipsel, zusammenkopiert aus Stackexchange-Antworten, mit dem man eine Datei vom Sharepoint laden kann. Wichtig war hier, dass die eventuell bereits lokal vorhandene Datei nicht mehr genutzt wird. Dazu wird sie gelöscht (man könnte noch prüfen, ob sie überhaupt vorhanden ist…). Der Sharepoint-Pfad wird innerhalb der Powershell als Laufwerk gemountet, das erlaubt dann die Nutzung einfacher Kopier-Befehle.
[String]$Ziel = "somelocalfile.txt"
Write-Host "Loesche die alte Datei"
Remove-Item -Path $Ziel
$FileExists = Test-Path $Ziel
If ($FileExists -eq $True) {
Write-Host "Fehler: Datei noch vorhanden!"}
Else {
Write-Host "OK: Alte Datei geloescht!"
}
Write-Host "Mounte Sharepoint als virtuelles Laufwerk..."
[String]$WebDAVShare = '\\some\unc\path\'
New-PSDrive -Name S -PSProvider FileSystem -Root $WebDAVShare
Write-Host "Kopiere ..."
Copy-Item "S:/someremotefile.xlsx" $Ziel
$FileExists = Test-Path $Ziel
If ($FileExists -eq $True) {
Write-Host "OK: Neue Datei vorhanden!"}
Else {
Write-Host "Fehler: Datei wurde nicht heruntergeladen!"
}
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") |
[String]$Ziel = "somelocalfile.txt"
Write-Host "Loesche die alte Datei"
Remove-Item -Path $Ziel
$FileExists = Test-Path $Ziel
If ($FileExists -eq $True) {
Write-Host "Fehler: Datei noch vorhanden!"}
Else {
Write-Host "OK: Alte Datei geloescht!"
}
Write-Host "Mounte Sharepoint als virtuelles Laufwerk..."
[String]$WebDAVShare = '\\some\unc\path\'
New-PSDrive -Name S -PSProvider FileSystem -Root $WebDAVShare
Write-Host "Kopiere ..."
Copy-Item "S:/someremotefile.xlsx" $Ziel
$FileExists = Test-Path $Ziel
If ($FileExists -eq $True) {
Write-Host "OK: Neue Datei vorhanden!"}
Else {
Write-Host "Fehler: Datei wurde nicht heruntergeladen!"
}
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined.
Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.
More Posts - Website