In some cases, we may need to identify the maximum length of full file path in a directory such that we can reduce the file name to avoid file length/security policy issues.
PS Script:-
$pathToScan = "C:\temp\File_Length"
$outputFilePath = "C:\temp\File_Length\output.txt"
$writeOnConsole = $true
$outputDir = Split-Path $outputFilePath -Parent
if (!(Test-Path $outputDir)) { New-Item $outputDir -ItemType Directory }
if ($writeOnConsole) {Write-Host "*************************************"}
if ($writeOnConsole) {Write-Host " List of files with file Length :- "}
if ($writeOnConsole) {Write-Host "*************************************"}
$stream = New-Object System.IO.StreamWriter($outputFilePath, $false)
Get-ChildItem -Path $pathToScan -Recurse -Force | Sort-Object {($_.FullName.Length)} -Descending | ForEach-Object {
$Path = $_.FullName
$len = $_.FullName.Length
$strg = "$len : $Path"
if ($writeOnConsole) { Write-Host $strg }
$stream.WriteLine($strg)
}
$stream.Close()
Output:-


Hope this would be helpful, thanks for reading !!
For more Powershell related blogs: refer here.