Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^4: Shorten windows paths too long (trim)

by gj2666 (Beadle)
on Aug 18, 2010 at 15:23 UTC ( #855805=note: print w/replies, xml ) Need Help??

in reply to Re^3: Shorten windows paths too long (trim)
in thread Shorten windows paths too long

There is also a post that suggests an obvious solution: Don't generate path's with more than 255 chars! Explain to your users why this is important and a big pain in the ass to deal with and they will understand it.
Oh gee, sure, I never thought of that suggestion. *eyerolling*. I have on numerous occasions suggested to the java dingleberry developers I work with that perhaps having a class called "" might be a candidate for abbreviation.

Apparently making me happy and their own lives less complicated is not their priority.

I created a hash in the code I added to my original post to do the very thing you suggest, a substitution table.
Unfortunately I can't seem to get the substitute command to actually do the job.

I will try your stat suggestion and hopefully that will give me help.

Thank you for responding with a thoughtful and very readable answer btw.

  • Comment on Re^4: Shorten windows paths too long (trim)

Replies are listed 'Best First'.
Re^5: Shorten windows paths too long (trim)
by Marshall (Abbot) on Aug 19, 2010 at 22:55 UTC
    Hi! I didn't mean to sound flippant.

    I've used this "translation table" idea before in a number of different contexts. In this context, I would split the path name into name tokens (stuff between /'s). Apply the translator to the dir names, if and only if it is a complete match to your translation table. Don't substitute on partial strings. Then reassemble the path name using join().

    You have no chance to fiddle with the final target: "", BUT along the way to this end file target, there will be perhaps, "thisisaclassoffolkswhoarefarmersandtheirmothersmadiennamewaswoo_hoo /". I put a space after woo_hoo for display purposes.

    I would think that these Java folks have some naming convention for these intermediate directories - that is the target of your translation table. Probably just a handful of these names shortened to other names will do it. One trick is that you want to be able to translate in both directions.

    I wish you well. This is a mess when the other folks won't cooperate at least to a small extent. You have my sympathy.

    In a completely general case, this approach will not work. But I suspect that you are in a situation where <10 names in the translation table will work and that is a small enough number that you can manage this process.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://855805]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2017-12-12 11:09 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (330 votes). Check out past polls.