This is the mail archive of the
mailing list for the Cygwin project.
Re: Changing Windows "hidden" and "system" attributes?
- From: Igor Peshansky <pechtcha at cs dot nyu dot edu>
- To: Lloyd Zusman <ljz at asfast dot com>
- Cc: cygwin at cygwin dot com
- Date: Sun, 29 Oct 2006 23:17:35 -0500 (EST)
- Subject: Re: Changing Windows "hidden" and "system" attributes?
- References: <loom.20061029T225001firstname.lastname@example.org>
- Reply-to: cygwin at cygwin dot com
On Sun, 29 Oct 2006, Lloyd Zusman wrote:
> Igor Peshansky <pechtcha <at> cs.nyu.edu> writes:
> > On Sat, 28 Oct 2006, Lloyd Zusman wrote:
> > > Well, for one thing, things like this don't work:
> > > find . -type f -print | xargs attrib
> > find . -type f -print | cygpath -w -f- | xargs attrib
> > Won't work with -print0, but you get the idea.
> > Igor
> Thank you. I've tried this, and the -L1 argument is needed
> with xargs. But even with that, the pathnames get screwed
> up for subdirectories ...
> $ pwd
> $ cygpath -w `pwd`
> $ find . -type f -print | cygpath -w -f- | xargs -L1 attrib
> A E:\home\me\.bash_history
> A E:\home\me\.cvspass
> File not found - .elinksbookmarks
> File not found - .elinkscookies
> File not found - .elinkselinks.conf
> File not found - .elinksglobhist
> File not found - .elinksgotohist
> A E:\home\me\.emacs
> File not found - .fluxboxfbrun_history
> ... etc. ...
> Because of cygpath, filenames such as .elinks/bookmarks and
> .fluxbox/fbrun_history are passed to xargs like this:
> .elinks\bookmarks and .fluxbox\fbrun_history.
> Then xargs invokes attrib via a subshell, and therefore,
> shell meta-character handling is performed. That causes
> the backslashes in those path names to be removed before
> they get passed to the attrib command, thereby causing
> that program to see incorrect file names.
Indeed. So how about using the "-m" option of cygpath, instead of the
"-w"? FWICS, attrib will happily understand "/"-delimited filenames.
> Because of this, a hacky wrapper script for attrib like the
> one I wrote in my earlier message is still needed, unfortunately.
I had no problem running your test with "cygpath -m".
|\ _,,,---,,_ email@example.com | firstname.lastname@example.org
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html