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
)