Saturday, July 1, 2017

Path Too Long Auto Fixer R3 - the only tool that auto corrects long filenames and paths to fit under the 260 character limit

Path Too Long Auto Fixer  is the 1st and only tool that will automatically correct paths and filenames to fit under the 260-character limit in bulk. Back-up all of your files. Other tools make you go through hundreds of files, one-by-one, renaming and copying them somewhere.  Who has time for that now-avoidable activity?


Window 10 Path Tool Long Error

The most common way to get the path too long error is to have a too many sub-directories. For example the path below has 20 sub-directories! This is known a as deep directory and is very common in many work place shared drives. Coping this file in Windows Explorer will fail. 


I:\WORK-CODE\EXAMPLE PATH TOO LONG\Documents\Business\Office Addon\v3-php-sdk-2.0.4\
v3-php-sdk-.0.4\Dependencies\XSD2PHP\test\data\expected\ContactCompany\oasis\names\
specification\ubl\schema\xsd\Common Aggregated Components\
system-maintained configuration file\Helpv1.1.docx


Path Too Long Auto Fixer automatically fixes hundreds of deep directories and filenames so you don't have to .  

Now you can copy and sync your hundreds of files to the cloud, with out error.

Don't miss a file, on your USB backups or to the cloud.

Never miss an Online Backup again




OneDriveGDrive and Dropbox, etc all enforce the the 260 character limit. You may not even see the errors if you don't check the logs, which most users do not.



Download Demo New Release 3 - July 2017

PathTooLongAutoFixerAppRelease3Demo.zip NO LONGER AVAILABLE - R4 is out 

Unzip and double-click PathTooLongAutoFixerR4DEMO.exe*

* Limited to return 2 rows and opens this blog page on each run.



Guaranteed no malware, no spyware, no evil-ware of any sort, like the rest of my tools.
But I do like to get paid. Free demo tool.



What is the Path Too Long Error?

When a path (c:\dir1\filename.txt) is longer than 260 characters in length you get the path too long error.

It must meet this criterion; 


a+b<=260 characters 

a.The fully qualified filename with extension (filename.txt) must be less than 260 characters.
b.The directory name must be less than 248 characters.
c. Combined a+b must be less than 260 characters. 

This limit was imposed for a backwards compatibility issue with older Windows versions. FAT32, and NTFS has supported long path names (up to ~32768 characters), and many times programs could get around this length. But Windows Explorer and .NET programs will give you this error.

Competition

FastCopy is free open source, super quick alternative to paid advertised Path Too Long tool.

Both FastCopy, Path Tool Long tool work by copying paths that are too long to a new shorter location. 

However, they don't mention you have painstaking do that for countless files in different directories. Also, these tools don't identify directories that are too long to begin with.

You can read my post on how to find paths that are too long.


These tools make you have to select files one-by-one and copy it somewhere.


1) Who has the time to rename and move 100+ files to new directories?

2) And it's only half the solution, as I point out in my blog post.

Both FastCopyPath Tool Long tool and others do not identify filenames that are too long.

These tools make you have to  rename each filename one-by-one, if you elect to do so. 
If you don't next time you copy these files, you get the error. It's an incomplete solution. 


Path Too Long Auto Fixer
is only tool that automatically fix long paths and filenames on the market today!

What make this solution the Best Choice ? 


Path Too Long Auto Fixer (PTLAF) rocks because in a few steps you can copy  thousands of files . PTLAF will identified the multitude of long paths (directories) and filenames and correct them so you manually do not have too! 

PTLAF is the first and 
only tool on the market that does this today !

PTLAF use an innovative algorithm to shortening filenames and paths so they are still human readable and unique. We are not using 8.3 names here, we have designed our own algorithm here. Download and try it for free!




Release 3 Client App

Path Too Long Auto Fixer rocks because can copy thousands of files  to a new directory in seconds. 


Release 3 (R3) Improvements 


  1. Strict adherence to preserve file length (PFL), no spaces removed by default as in Release 2. R3 does NOT include extension length now. So in R3 length 3, represents won.txt or won.text, in R2 a.txt would be of length 5.

    Default is 25, but absolute min would of length 3 to be still readable. But you can but can goto 0 if you really need to super crunch the file name.
  2. Paths that are attempted to be compressed and there no advantage gained, the letter case of the original path or filename will be preserved. In R2, title case would be applied regardless.
  3. Collision detection, if generated shortened name happens to result in the same previous generated short name, this will rename it by adding a 0-9 at the end of the filename. There are 0-9 slots. Example, wn.txt if exists will be renamed to w0.txt, then next one w1.txt, etc.
  4. Added a clean-up option to delete all empty source directories. A confirmation pop-up will appear when using the Execute button. In the Powershell generated script just uncomment that section of the script.
  5. Execute button will do in client processing;
    1. Includes option to be delete all empty source directories (target in R4 this will be migrated to an option)
    2. Handles read-only files (not in Powershell, target R4). Hint, if PS fails, use Execute button for read-only files only.
  6. Execute button produces a full transaction log (C:\Users\{Username}\FixLongPaths_{timestamp}.log) so you can track file changes.



How Path Too Long Auto Fixer Work ? 



Path Too Long Auto Fixer uses a unique algorithm that shortens paths and filenames. It  working its way back up the directories levels, shortening up, until the length is legal. This process is consistent for successive runs. Shortened paths are still readable and easily identifiable from the source.

This is a non-destructive process. No files will be lost. This is a copy, not a move or delete process. There is an new option to delete long source file paths. 


PTLAF does not remove the old too long paths, unless you want it too. There is an option to do delete files, once you are convinced you have it the right way. So you have the original and new shorter paths side-by-side.  




Technical Details


Tested On:
Windows XP ,7, 8, 8.1, 10, 10 CU and equivalent Server releases
Optimal min. screen size XGA 1024 x 768 (4:3 aspect ratio, introduced in 1990)



Software Specifications:
Full Unicode support for filename and paths.

Full Unicode support for path delimiters (dash, underscore, whites pace), see Advanced Options in Quick Instructions.

Integrated AlphaFS 2.1 library to handle long paths over 260 characters and Unicode support. AlphaFS is a .NET library which is provided and supports extended length paths (longer than 260 characters).

Software Requirements:


Requires Microsoft .NET Framework 4 Client Profile now expired, but is accessible by
. NET Framework 4.5 is a highly compatible, in-place update to .NET Framework 4. Download here .

Exception for Windows XP use
Microsoft .NET Framework 4 (Web Installer). Download here.


For Administrators using the Generate Script button 

Requires Powershell_ISE and Powershell to use .NET 4.0 CLR. Check here.
You can upgrade to Powershell 4.0 
Windows Management Framework 4.0 download here.


Do you have . NET Framework 4 installed ? Check FAQ  here. Or use this tool available here

Download Demo New Release 3 - July 2017

PathTooLongAutoFixerAppRelease3Demo.zip
- NO LONGER AVAILABLE - R4 is out 

Unzip and double-click PathTooLongAutoFixerR3App-Demo.exe*

* Limited to return 2 rows and opens this blog page.


Guaranteed no malware, no spyware, no evil-ware of any sort, like the rest of my tools.
But I do like to get paid. Free demo tool.



Advanced Options

1. Preserve File Length (PFL)
Strict adherence to preserve file length (PFL), no spaces removed by default as in Release 2. R3 does NOT include extension length now. So in R3 length 3, represents won.txt or won.text, in R2 a.txt would be of length 5.
Default is 25, but absolute min would of length 3 to be still readable. But you can but can goto 0 if you really need to super crunch the file name. 
2. Split Delimiter 
Unicode support, for all white space (17 characters), underscore (5 characters) and hyphens (24 characters) . Added Punctuation (Punc) delimeter option that represents all Unicode characters categorized as a punctuation. This is s a short list !,",%,&,',*,,(Comma),.,/,:,?,@,\.. etc. The full list of Unicode punctuation characters implemented for this option are listed here and total count of 566 characters. This does not include Unicode symbols see lists, math, currency, other, etc.  
3. Word Filter - Comes pre-populated to check the file for values.


Quick Instructions - How to use































Begin by choosing A and C in image above, a screen shot of PTLAF GUI; 

Step 1 - Choose  start directory you want to search for long paths.
Step 2 -   Choose  B  destination directory to copy files to, can be external drive or cloud drive.

C  is calculated for you, taking into account the new path longer length. But you may want to lower this to shorted more paths.

Step 3 - Select 1 button to find Invalid Long Paths. See results in window below .
              Select rows and copy and paste into Notepad to see results.
             
      Window title may read (NOT RESPONDING) but its working, just wait until it completes.

Step 4 - Select 2 Execute button to do process now. Select 3 button to generate script.

When you click Run > Generate Script <  button this will open up Powershell ISE program.

Step 5  -  Just click the green arrow (as in step 1 in image below - red arrow) to run the generated script. You can review the script if you like, and change file names. 









Done.


If script fails for some reason,  you'll need to run this command; 


Search for "Windows Powershell", right-click and Run as Administrator (see image below), and paste this command into it and press return.


Set-ExecutionPolicy -Scope CurrentUser -Force - ExecutionPolicy Bypass








Close Powershell ISE and hit  Run > Generate Script <   button again. 

Using Advanced Options Window 

Quick Tips

1. Preserve File Length (PFL)
Choose 3 as absolute min  to ensure filename and paths are still readable, but get maximal compression. But you can but can goto 0 if you really need to super crunch the file name. 
2. Split Delimiter 
Choose All for maximum removal of spurious characters like !@, in filename.
3. Word Filter - Comes pre-populated to check the file for values.

     



Licensing

For license inquires send email via contact form (right panel).

Licenses are sold on a per seat basis, tied to user account and hardware fingerprint.

  1. Single seat for a small company/home company is $57.00 USD.
  2. Single seat for a large company or on a server or VM license is $97.00 USD (a min 3 user seat charge).
  3. Enterprise (unlimited license, portable) please use contact form


This documentation is a work in progress while final version is being developed.

Licensing Process





  1. I'll send you a License Info Gathering  tool and email results back.
  2. This information is used to make a custom software build for you.

  3. Note: MAC address is used because it's a physical signature of your network card, and generally not supposed to be changeable, but easily is. Your MAC address will not be disclosed to anyone. 
    For added comfort read this;

    "Is it safe to share you MAC Address ?" question on  StackExhange .
  4. Furthermore, all this information will not be share with anyone and is used exclusively for licensing of this product.

Command Line for Administrators


C:\> PTLAutoFix.exe -h for this help

Usage: PTLAutoFix.exe Root="C:\Users\Golden eye\Documents" [Dest="C:\User\Xenia\Onedrive"] [Search=*.doc?] [Min=260] [Max=32767] [Sort=Asc] [Lines=5] [c=1] [t=1] [w=0]


-- required --

Root="drive:\path"
 The root directory path(quoted) to start recursively enumerating all sub-directories and files.

-- optional --

Dest=[drive:\path]
 The destination path(quoted) to replace the Root directory in the results. Default is null.

Search=[searchstring]
 A file search pattern to filter filenames with. Match '*' (all) or '?' (1) character(s). Default is '*'.

Min=[0-32767]
 An integer indicating the minimum length that a path must contain in order to be returned in the results. Default is -1

Max=[0-32767]
 An integer indicating the maximum length that a path may have in order to be returned in the results. Default is -1

Output=[Len|Path|Both|SLen|SPath|SBoth|Paths|All]
Format the resultant output. To display the [Len]gth or [Path], or [Both](combined) of found paths. Likewise, for the shortended length [SLen] or path [SPath], or both combined [SBoth] of the found shortened paths. [Paths] = Path + Spath. Default is Both.

Delim=[Space|UnderSpace|HyphenSpace|All]
 Specifies a delimeter (' ','_','-') used to split each sub-dir path into words. Default is UnderSpace, splits on underscore and space.

Sort=[Asc|Desc]
 Indicates sort order of the returned results. Default is Desc. Omit to ignore this flag.

Lines=[0-4294967295]
 An unsigned integer indicating the number of row to be returned in the results. Default is 0.

pfl=[0-257]
Preserve Filename Length (pfl) is an integer indicating the filename (including extension) length for which shortening process will be overlooked. This preserves the name for 'smaller' filenames, however spaces are still removed. Sub-dirs will be shortened.  A value of 0, would shorten filenames maximally.  Default is 25. 

wf=[1|0] or [true|false]  
A boolean to use a blacklist word file (filterwords.csv) to remove words in each sub-dir path as split by Delim option. Default is 0 or false.

tc=[1|0] or [true|false]
 A boolean to title case each word as split by delimeter option. Default is 0 or false.

c=[1|0] or [true|false]
 A boolean to output the count of number of resultant rows. Default is 0 or false.

e=[1|0] or [true|false]
 A boolean to output the elapsed time to generate the resultant rows. Default is 0 or false.

l=[1|0] or [true|false]
 A boolean to output the full license. Default is 0 or false.

v=[1|0] or [true|false]
 A boolean to output the current version. Default is 0 or false.

w=[1|0] or [true|false]
 A boolean to output the warnings. Default is 1 or true, on for novices.

Note: Add the path to PTLAutoFix.exe to path variable, or copy c:\windows\system32

CMD Line - Using optional blacklist words to remove from path

You can black list words that may appear in a path by adding them to a comma-delimited CSV file (filterwords.csv).

Most likely words you might like to remove are those you find redundant or non-descriptive. Your organization also may find and remove words that are verboten, like WTF and other internet slang. You can use this program to rename all you files (by doing a copy and delete, available in the generated script). 


  • Remove internet slang - WTF, Dafuq = (What) the f***?, FML = F*** My Life, Bitch, IDGAF =  I Dont Give A F***, Bitch, etc.
  • Remove conjunctions - for, and, nor, but, or, yet, so, as, if, either, neither, also, etc,
  • Remove determinders  - a, an, its, that, the, their, these, this, those, such, etc  
  • Remove a single letter - !,@,#,' 


File Specification:

The file must not contain the following characters  '<', '>', ':', '"', '/', '|', '?', '*'  as they are reserved path and filename characters - see https://msdn.microsoft.com/en-us/library/aa365247.aspx for exact spec for valid path characters. 

The words are case insensitive. 

Example blacklist file to remove the following words from path and filename: 
so, this, that, WTF, FML, IDGAF, F*** You,TW*T etc.

Software Requirements


Requires Microsoft .NET Framework 4 Client Profile now expired, but is accessible by
. NET Framework 4.5 is a highly compatible, in-place update to .NET Framework 4. Download  here .

Exception for Windows XP use
Microsoft .NET Framework 4 ( Web Installer). Download  here.