MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Portable Notebooks and Filenames[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg57916] Re: Portable Notebooks and Filenames[]
  • From: "Stefan Linnik" <- at mk-nntp-1.news.uk.worldonline.com>
  • Date: Sun, 12 Jun 2005 04:34:44 -0400 (EDT)
  • References: <d8e4e7$gik$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

If you use 'ToFileName' then forward or back slashes shouldn't be required
For eample:

path= ToFileName[{"c:","Install","celestia"}]
FileNames["*.zip", path]
:= c:\Install\celestia\
:= {c:\Install\celestia\CelestiaUsersGuide-1.3.2-pdf.zip}

or

path=ToFileName[{"c:","Install","celestia"},"*.zip"]
FileNames[path]
:= c:\Install\celestia\*.zip
:= {c:\Install\celestia\CelestiaUsersGuide-1.3.2-pdf.zip}

Stefan Linnik
~~~~~~~~


"frank" <frank at kuesterei.ch> wrote in message 
news:d8e4e7$gik$1 at smc.vnet.net...
> Hi,
>
> in our group we are using Mathematica both on Windows and on Linux (and
> I'm about to convert a MacAddict to Mathematica).  However, we are
> facing one problem with external file names.
>
> It is possible to use
>
> In[1]:=
> SetDirectory["some/directory/subdirectory"];
>
> (from a syntax point of view; of course the beginning of the string will
> be different, like ~/netdrive vs. w:)
>
> On the other hand, this works only on Linux:
>
> In[2]:=FileNames["subdir/*"]
>
> while on Windows, only this construct works:
>
> In[3]:=FileNames["subdir\\*"]
>
> (\ needs to be escaped because \* or nearly any \<letter> combination
> has some meaning).
>
> This is weird - first because Windows understands the forward slash as a
> directory separator, and second because it means we have to do
> search-replace orgies when trying a notebook on a different OS.  This
> would not only happen in a preamble part, but we even have some
> functions that read all data in a subdirectory, for a list of
> subdirectories.
>
> Is there a way to write such expressions portable?  Is there, for
> example, an internal variable "directory separator" that could be used
> in this string?  Alternatively, if it's possible to replace \\ by / (and
> vice versa) by some string matching mechanism, we could write a function
> that does this if some boolean is set once in the notebook, or even
> depending on some internal variable that indicates the OS?
>
> Regards, Frank
> -- 
> Frank Küster
> Inst. f. Biochemie der Univ. Zürich
> Debian Developer
> 



  • Prev by Date: Re: Solve
  • Next by Date: Re: Portable Notebooks and Filenames[]
  • Previous by thread: Portable Notebooks and Filenames[]
  • Next by thread: Re: Portable Notebooks and Filenames[]