This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: links broken during a backup (not restore), need more info on how they work to fix & file bug with vendor

Thank you for the quick response Igor.

> You need to use "attrib +R" on .lnk files and "attrib +S" on the
> plain-text links.

I swear I tried attrib +R on both types of links earlier, but I must
have only tried the plain-text ones.  It does fix the .lnk's as you
said.  I'm using these two [slow] commands to fix up my system.

find / \( -name cygdrive -o -name proc -o -name dev \) -prune -o -name \*.lnk -print -exec bash -c 'attrib +R "`cygpath -d \"{}\"`"' \;
find / \( -name cygdrive -o -name proc -o -name dev \) -prune -o -type f -exec bash -c 'grep "^\\!<symlink>" "{}" && attrib +S "`cygpath -d \"{}\"`" ' \;

They scan through the cygwin root and any disks you have explicitly
mounted.  I don't think it would actually hurt stuff on the windows side
of the disk, but I am trying to stay out of those directories.  I'm
fairly certain the second one is safe everywhere, but the first one
may +R some non-cygwin links, if you have mounted windows directories.
This doesn't seem to affect windows; the shortcut still work in explorer.
The windows created shortcuts don't seem to work in bash with or without
the +R, which is fine with me.

Maybe someone can come up with a fancier find.  I had to spawn a bash to
use the && and delay the evaluation of the `cygpath {}`.  There's a lot of
quoting to deal with spaces in filenames.

See Exclusive Video: 10th Annual Young Hollywood Awards

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]