From: "Berger, Daniel" Date: 2003-09-20T01:45:14+09:00 Subject: Re: File.expand_path and ~ on windows > -----Original Message----- > From: Sean O'Dell [mailto:sean@cSePlsoAfMt.com[REMOVE_THE_SPAM]] > Sent: Friday, September 19, 2003 10:19 AM > To: ruby-talk@ruby-lang.org > Subject: Re: File.expand_path and ~ on windows > > > Austin Ziegler wrote: > > > On Fri, 19 Sep 2003 11:36:28 +0900, Tom Felker wrote: > > > >>Wouldn't it make more sense to expand it to My Documents > (C:\Documents > >>and Settings\Username\My Documents on WinXP)? I suppose it > would be > >>worthwhile to be able to disable it, though. > > > > > > No. ~ has no meaning to Windows shells. There are times when I wish > > that it > > didn't to Unix shells. After all, that's what ${HOME} is for. > > This is true; but I think for portability reasons, since COMMAND.COM > isn't exactly what I would call a culture of shell idioms, ~ > and ${HOME} > (%HOME%) should be considered synonymous. If not ~, then at least > ${HOME} ought to point to C:\Documents and Settings\UserName I think. > > Sean O'Dell FWIW, it is possible to set a HOME directory. On XP Pro: Control Panel -> User Accounts -> Advanced -> Users. Then, right click on a given user and click "properties" and click the "profile" tab. There you should see a "home folder" option. This is what sets the LPUSER_INFO_11 struct value for the usri11_home_dir member. So, in theory you can get a user's home dir like this: # Available on RAA - shameless plug require "sys/win32etc" include Sys home = Win32Etc.getpwnam("some_user").home_dir However, it seems that in practice this value is rarely set (it wasn't in any of the 3 machines that I tested) and that %HOME% should be the first default. Regards, Dan