Do you want just paths (directory paths over 255 chars) or combo filenamr and folder path
Just folders:
@(Setlocal enabledelayedexpansion
Echo off
Set "_Root=D:\"
Set "_ResultFile=D:\PathsOver255Chars.txt"
)
CALL :Main
( Endlocal
Exit /B
)
:Main
For /F "Tokens=*" %%_ IN ('
Dir /B /S /AD "%_Root%*"
') DO (
SET "_CheckLen=%%_"
IF /I !_CheckLen! NEQ !_CheckLen:~-255! (
ECHO=%%_>>"%_ResultFile%"
)
)
GOTO :EOF
Just files:
@(Setlocal enabledelayedexpansion
Echo off
Set "_Root=D:\"
Set "_ResultFile=D:\PathsOver255Chars.txt"
)
CALL :Main
( Endlocal
Exit /B
)
:Main
For /F "Tokens=*" %%_ IN ('
Dir /B /S /A-D-S-H "%_Root%*"
') DO (
SET "_CheckLen=%%_"
IF /I !_CheckLen! NEQ !_CheckLen:~-255! (
ECHO=%%_>>"%_ResultFile%"
)
)
GOTO :EOF
Folders and files
@(Setlocal enabledelayedexpansion
Echo off
Set "_Root=D:\"
Set "_ResultFile=D:\PathsOver255Chars.txt"
)
CALL :Main
( Endlocal
Exit /B
)
:Main
For /F "Tokens=*" %%_ IN ('
Dir /B /S "%_Root%*"
') DO (
SET "_CheckLen=%%_"
IF /I !_CheckLen! NEQ !_CheckLen:~-255! (
ECHO=%%_>>"%_ResultFile%"
)
)
GOTO :EOF