I'm attempting a batch script to allow for user-entered data to replace variables in a .js file.
I am having issues with the completion of the script removing all data from the file.
I'm looking for a quick and easy way to repeatedly find and replace strings from a .js file based on user-entered values.
Below is the script I have attempted:
@echo off > header.js
setLocal DisableDelayedExpansion
::Declare variables and user entry
::if exist header.js ren header.js
set /p FolderLinkName= Folder Link Name? 
set /p PropertyName= Property Name? 
set /p PropertyAddress1= Property Address 1? 
set /p PropertyAddress2= Property Address 2? 
set /p PropertyCity= Property City? 
set /p PropertyState= Property State? 
set /p PropertyZip= Property Zip? 
set /p PropertyContactName = Property Contact Name? 
set /p PropertyPhone = Property Phone? 
set /p PropertyPhoneExt = Property Phone Ext? 
set /p PropertyEmail = Property Email? 
::String Replacements
for /f "tokens=* delims= " %%G in (header.js) do (
    set str=%%G
    setLocal EnableDelayedExpansion
    set str=!str:[var propertyFolderLink = "propertycopy";]=[var propertyFolderLink = "[%FolderLinkName%]";]!
    set str=!str:[var propertyName = "PROPERTY COPY";]=[var propertyName = "[%PropertyName%]";]!
    set str=!str:[var propertyAddress1 = "3050 Biscayne Blvd";]=[var propertyAddress1 = "[%PropertyAddress1%]";]!
    set str=!str:[var propertyAddress2 = "Suite 602";]=[var propertyAddress2 = "[%PropertyAddress2%]";]!
    set str=!str:[var propertyCity = "Miami";]=[var propertyCity = "[%PropertyCity%]";]!
    set str=!str:[var propertyState = "FL";]=[var propertyState = "[%PropertyState%]";]!
    set str=!str:[var propertyZip = "33137";]=[var propertyZip = "[%PropertyZip%]";]!
    set str=!str:[var propertyContact = "Property Manager";]=[var propertyContact = "[%PropertyContactName%]";]!
    set str=!str:[var propertyPhone = "(555) 555-55555";]=[var propertyPhone = "[%PropertyPhone%]";]!
    set str=!str:[var propertyPhoneExt = "";]=[var propertyPhoneExt = "[%PropertyPhoneExt%]";]!
    set str=!str:[var propertyEmail = "email@email.com";]=[var propertyEmail = "[%PropertyEmail%]";]!
    >> header.js echo(!str!
    endlocal
)
 
     
    