Ok, here is more info on what I want to do. Sorry I wasn't clear in the original question.
There will eventually be about 50 or more separate scripts that allow installation of different Bibles (like KJV, ESV, NET, ASV, WEB, etc). The only difference is which files are included. However, some of the information used by the installer is lower case, and some is upper case (especially case sensitive URL links to use for Internet downloads.)
The app is part of a "family of applications", so the main nsis script is fairly elaborate to detect previous installations of 4 other apps within the "family" so resources can be shared.
Here is an example of the nsis code that !includes a 700+ line .nsh file
/* File: LcdBibleStarterKitSetup_KJV.nsi */
!define STARTER_KIT_BIBLE_ABBREV Kjv
!define STARTER_KIT_BIBLE_ABBREV_UC KJV
!define STARTER_KIT_BIBLE_NAME "King James Version"
!define STARTER_KIT_BIBLE_MODNAME KjvLite
!define STARTER_KIT_BIBLE_DRIVER_NAME ztext
!define STARTER_KIT_BIBLE_FILE_EXT bzs
!include "CrosswireFamilyDefines.nsh"
!include "LcdProjectDefines.nsh"
# Essentially everything is in this 700+ line .nsh file
!include "LcdBibleStarterKitSetup.nsh"
Within the file LcdBibleStarterKitSetup.nsh, there are lines such as:
OutFile "${PROJECT_NAME}StarterKitSetup_${STARTER_KIT_BIBLE_ABBREV_UC}.exe"
It works fine to have these lines:
!define STARTER_KIT_BIBLE_ABBREV Kjv
!define STARTER_KIT_BIBLE_ABBREV_UC KJV
This would be fine if there were only one or two scripts, but with 50 or more installers, it seemed worth checking if there was a way to do the UC (upper-case) with a function rather than having to define two separate constants.
I had put together 4 scripts, and then realized that the second line above was advisable for the URL link to be correct on a Linux webhost that uses Apache. That involved changes to 4 files rather than one file. For future maintenance and enhancements, it will obviously be easier to change the one .nsh file than 50+ "stubs" that !include the .nsh file.
To illustrate, here is a link to a "StarterKit" (1.4mb):
LcdBibleStarterKitSetup_WEB
Thanks for your help.