MathGroup Archive 2010

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

Search the Archive

Re: Bare Bones Backup Button

  • To: mathgroup at
  • Subject: [mg111514] Re: Bare Bones Backup Button
  • From: David Reiss <dbreiss at>
  • Date: Tue, 3 Aug 2010 06:43:37 -0400 (EDT)
  • References: <i368lp$r56$>

I think that the best way is to  simply check to see if the directory
exists using FileType[dir]===Directory (pre version 7)   or
DirectoryQ[dir] (version 7 or above).

(by the way, as you know, there is a backup facility in


On Aug 2, 7:03 am, Murray Eisenberg <mur... at> wrote:
> An exchange reported in  between DrMajorBob and Selwyn Hollis
> culminated, in essence, in the code below for creating a saveable
> palette with a button to back up the InputNotebook.
> If the target directory for the backup (fixed in the code that creates
> the palette) already exists, then each time I click the button, I get an
> unwanted message
>    CreateDirectory::filex : ... already exists
> in the Messages window.
> What is the best way to modify the code so as avoid that message? I can
> think of two methods:
> (1) Include a separate test as to whether that directory already exists
> and, if so, by-pass the CreateDirectory phase; or
> (2) Somehow trap the CreateDirectory so as to eliminate the message.
> For Method (1), how does one tell whether a directory exists? I don't
> find a single function that does it. All I can see is to use first
> FileExistsQ to see if there's some file with the target directory's name
> and second, if the file exists, FileType to check that it's a directory.
>   That seems to be getting unduly complicated.
> Method (2) in principle seems simpler, and perhaps wrapping Quiet around
> the entire body of the Module (which is an extended If expression) would
> do the trick. But this would also suppress other messages that one might
> want to see, such as when the directory does not already exist but for
> some reason cannot be created; or that the directory exists but for some
> reason is not writable; etc.
> Suggestions?
> The code:
> CreateDocument[PaletteNotebook[Button["Bare Bones Backup",
>    Module[{filename,thisnb=InputNotebook[]},
>      If[thisnb=!=$Failed,
>         CreateDirectory[
>           ToFileName[{"e:/backups","MmaBareBones"}]];
>         filename=
>           StringJoin[
>             StringReplace[(WindowTitle/.AbsoluteOptions[thisn=
>               s_~~".nb"->s],"_",
>           StringJoin[ToString/@ Round/@ Rest[Date[]]],".nb"];
>         Export[
>           ToFileName[{"e:/backups","MmaBareBones"},filename],
>           DeleteCases[NotebookGet[thisnb],Cell[_,"Output",___],
>             Infinity]]]]],
>      Saveable->True]]
> --
> Murray Eisenberg                     mur... at math.umas=
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower      phone 413 549-1020 (H)
> University of Massachusetts                413 545-2859 (=
> 710 North Pleasant Street            fax   413 545-1801
> Amherst, MA 01003-9305

  • Prev by Date: Re: A distribution problem using Mathematica
  • Next by Date: Re: ReplaceAll and ReplaceRepeated Strange Behavior
  • Previous by thread: Re: Bare Bones Backup Button
  • Next by thread: Re: Bare Bones Backup Button