// Rename the |file| to "foo.bar", but don't clobber "foo.bar" if it exists var newFile = file.parent.clone(); newFile.append("foo.bar"); if (!newFile.exists()) file.moveTo(null, "foo.bar"); else { newFile.createUnique(nsIFile.NORMAL_FILE_TYPE, PERMS_FILE); file.moveTo(null, newFile.leafName); }