diff --git a/Dlugosc_FileSystem/dlugosc_filesystem.ps1 b/Dlugosc_FileSystem/dlugosc_filesystem.ps1 new file mode 100644 index 0000000..4428302 --- /dev/null +++ b/Dlugosc_FileSystem/dlugosc_filesystem.ps1 @@ -0,0 +1,144 @@ +# Sprawdź klucz rejestru odpowiadający za obsługę długich ścieżek +# Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled + +$rootDir = "C:\test_tk_glebokosc" +$dirName = "dir" + +$counter = 1 +$currentDir = $rootDir +$limit = 300 + +while ($true) { + $newDir = Join-Path -Path $currentDir -ChildPath ($dirName + $counter) + try { + New-Item -Path $newDir -ItemType Directory -ErrorAction Stop | Out-Null + #Write-Host "Utworzono katalog: $newDir" + $currentDir = $newDir + $counter++ + #if ($counter % 100 -eq 0) { + # "Głębokość $newDir" + #} + if ($counter -eq $limit) { + break + } + } catch { + Write-Host "Nie można utworzyć katalogu: $newDir. Limit filesystemu osiągnięty?" + break + } +} + +$newDir +"Utworzono ścieżkę o długości: $($newDir.Length) znaków | Przerwane przy ilości: $($counter) zagnieżdżeń." +Remove-Item $rootDir -Recurse -Force + +$rootDir = "C:\test_tk_nazwa_folderu" +$dirName = "dir" +$fileName = "file" + +$counter = 1 +$maxDirLength = 0 +$maxFileLength = 0 + +while ($true) { + $newDir = Join-Path -Path $rootDir -ChildPath ($dirName + ("a" * $counter)) + try { + New-Item -Path $newDir -ItemType Directory -ErrorAction Stop | Out-Null + $maxDirLength = $counter + $counter++ + } catch { + break + } +} +$newDir +Write-Host "Maksymalna długość nazwy folderu: $($newDir.split("\")[-1].Length) | Długość ścieżki: $($newDir.Length)" +Remove-Item $rootDir -Recurse -Force + +$rootDir = "C:\test_tk_nazwa_pliku" +$fileName = "file" + +$counter = 1 +New-Item -Path $rootDir -ItemType Directory -ErrorAction Stop | Out-Null +while ($true) { + $newFile = Join-Path -Path $rootDir -ChildPath ($fileName + ("a" * $counter)) + try { + New-Item -Path $newFile -ItemType File -ErrorAction Stop | Out-Null + $maxFileLength = $counter + $counter++ + } catch { + break + } +} +$newFile +Write-Host "Maksymalna długość nazwy pliku: $($newFile.split("\")[-1].Length) | Długość ścieżki: $($newFile.Length)" +Remove-Item $rootDir -Recurse -Force + +$rootDir = "\\?\C:\test_tk_glebokosc_unc" +$dirName = "dir" + +$counter = 1 +$currentDir = $rootDir +$limit = 300 + +while ($true) { + $newDir = Join-Path -Path $currentDir -ChildPath ($dirName + $counter) + try { + New-Item -Path $newDir -ItemType Directory -ErrorAction Stop | Out-Null + #Write-Host "Utworzono katalog: $newDir" + $currentDir = $newDir + $counter++ + #if ($counter % 100 -eq 0) { + # "Głębokość $newDir" + #} + if ($counter -eq $limit) { + break + } + } catch { + Write-Host "Nie można utworzyć katalogu: $newDir. Limit filesystemu osiągnięty?" + break + } +} + +$newDir +"Utworzono ścieżkę o długości: $($newDir.Length) znaków | Przerwane przy ilości: $($counter) zagnieżdżeń." +Remove-Item $rootDir -Recurse -Force + +$rootDir = "\\?\C:\test_tk_nazwa_folderu_unc" +$dirName = "dir" +$fileName = "file" + +$counter = 1 +$maxDirLength = 0 +$maxFileLength = 0 + +while ($true) { + $newDir = Join-Path -Path $rootDir -ChildPath ($dirName + ("a" * $counter)) + try { + New-Item -Path $newDir -ItemType Directory -ErrorAction Stop | Out-Null + $maxDirLength = $counter + $counter++ + } catch { + break + } +} +$newDir +Write-Host "Maksymalna długość nazwy folderu: $($newDir.split("\")[-1].Length) | Długość ścieżki: $($newDir.Length)" +Remove-Item $rootDir -Recurse -Force + +$rootDir = "\\?\C:\test_tk_nazwa_pliku_unc" +$fileName = "file" + +$counter = 1 +New-Item -Path $rootDir -ItemType Directory -ErrorAction Stop | Out-Null +while ($true) { + $newFile = Join-Path -Path $rootDir -ChildPath ($fileName + ("a" * $counter)) + try { + New-Item -Path $newFile -ItemType File -ErrorAction Stop | Out-Null + $maxFileLength = $counter + $counter++ + } catch { + break + } +} +$newFile +Write-Host "Maksymalna długość nazwy pliku: $($newFile.split("\")[-1].Length) | Długość ścieżki: $($newFile.Length)" +Remove-Item $rootDir -Recurse -Force \ No newline at end of file