TLPD (Too Long Path Detector)
by Or Ben Shabat
TLPD was developed as a complementary product for the EVACopy project,
but it's very useful as a standalone program as well.
TLPD scans the directory tree, looking for files and folders with full
path name longer than a specified threshold. the reason for this is the
inability of Windows operating systems to handle path names longer than
255 characters. some programs fail to work correctly with them, and TLPD
is used to detect them for you, so you can move or rename them to shorter
you can start TLPD in the usual way, and then you are asked for the path to
check and for the threshold to use. with these parameters the program gets
to work (this may take a minute or two), and displays a log with a list of
files and folders with too long path names.
the log is saved in the temporary folder by the name "TLPD-log.txt", so you
can review it later.
you can start TLPD with command-line parameters, the 1st is the path to check,
and the 2nd is the threshold. for example:
tlpd.exe c: 200
this is intended for automated silent operation. this means that the log file
is not presented to the user, only saved to disk. you can integrate TLPD into
a script in this way, and make use of the exit codes described next.
if the command-line parameters are misconfigured, the program ignores them
and switches to standard mode.
in both modes TLPD tray icon is displayed, indicating that the program is in
progress. if you click it, the program is paused, and a menu appears where you
can choose to resume or to terminate, or to leave it paused. when the program
is paused, the icon blinks into a red X sign.
TLPD returns the following exit codes:
0 - program completed successfully, too long paths were not found.
1 - error in path parameter.
2 - error in threshold parameter.
3 - program completed successfully, too long paths were found!
9 - aborted by user, by pressing "cancel" when asked for path or threshold.
TLPD is quite simple, written as an Autoit v22.214.171.124 script. the script includes
the pseudo-code and remarks.