Link to home
Start Free TrialLog in
Avatar of elwayisgod
elwayisgodFlag for United States of America

asked on

How can i echo a ! to end of a file?

I have a script that builds some files on the fly.  Every file created needs the last line to be !

I can't figure out for life of me how to get it to work....

REM @echo off

 

 

REM Turn this on so the & are not evaluated below

setlocal EnableDelayedExpansion

set prefix=

set script_ver=

set script_yr=

set bang=!

 

if exist %TriggerDir%\%fcst_trigger_file% (

call :setfcst

) else (

call :checkbdgt

)

 

 

:checkbdgt

if exist %TriggerDir%\%bdgt_trigger_file% (

call :setbdgt

) else (

call :donecheck

)

 

:donecheck

echo prefix: %prefix%

echo script_ver: !script_ver!

echo script_yr: !script_yr!

 

del /f %AppRootFolder%\%ApplicationName%\%DatabaseName%\New_%Prefix%*.rep

 

 

FOR /F "tokens=1,2 delims=," %%G IN (%SCRIPTDIR%\CC_Export_List.csv) DO (call :BUILD_REP %%G %%H)

 

GOTO :eof

 

:BUILD_REP

ECHO %1

ECHO %2

 

set outfile_report_script=%AppRootFolder%\%ApplicationName%\%DatabaseName%\New_%Prefix%%1.rep

 

echo { > %outfile_report_script%

echo DECIMAL 8 >> %outfile_report_script%

echo SUPBRACKETS >> %outfile_report_script%

echo SUPCOMMAS >> %outfile_report_script%

echo SUPPAGEHEADING >> %outfile_report_script%

echo SUPCOLHEADING >> %outfile_report_script%

echo NOINDENTGEN >> %outfile_report_script%

echo SUPFEED >> %outfile_report_script%

echo ROWREPEAT >> %outfile_report_script%

echo TABDELIMIT >> %outfile_report_script%

echo MISSINGTEXT "#MISSING" >> %outfile_report_script%

echo SUPEMPTYROWS >> %outfile_report_script%

echo } >> %outfile_report_script%

echo. >> %outfile_report_script%

echo. >> %outfile_report_script%

 

echo // Begin Company %1 >> %outfile_report_script%

echo. >> %outfile_report_script%

echo. >> %outfile_report_script%

 

echo ^<PAGE ("Total Sources","Order Number") >> %outfile_report_script%

echo "Total Sources" >> %outfile_report_script%

echo "Order Number" >> %outfile_report_script%

echo. >> %outfile_report_script%

echo. >> %outfile_report_script%

 

echo ^<ROW ("Version","Scenario","Year","Periods","Format","Time","Cost Center","Accounts") >> %outfile_report_script%

echo ^!script_ver! >> %outfile_report_script%

echo "Scenario" >> %outfile_report_script%

echo ^!script_yr! >> %outfile_report_script%

echo "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" >> %outfile_report_script%

echo {RENAME "%1"} "Standard" >> %outfile_report_script%

echo {RENAME "%2"} "Monthly" >> %outfile_report_script%

echo ^<LINK(^<LEV("Cost Center",0) AND ^<DESCENDANTS("%1") AND NOT ^<MATCH("Cost Center", P_*) AND NOT ^<MATCH("Cost Center", N_*)) >> %outfile_report_script%

echo {RENAME "No Cost Center"} "P_%2_%1" >> %outfile_report_script%

echo {RENAME "No Cost Center"} "N_%2_%1" >> %outfile_report_script%

echo. >> %outfile_report_script%

echo. >> %outfile_report_script%

echo ^<LINK(^<LEV("Accounts",0) AND ^<DESCENDANTS("GAP5") AND NOT ^<IDESCENDANTS("Income Tax-Budget")) >> %outfile_report_script%

echo ^//{RENAME "64010100"} "Salary Expense" >> %outfile_report_script%

echo ^//{RENAME "64010100"} "Salary Timing Discount" >> %outfile_report_script%

echo {RENAME "76001140"} "Federal Income Tax-Budget" >> %outfile_report_script%

echo {RENAME "76100100"} "State Income Tax-Budget" >> %outfile_report_script%

echo. >> %outfile_report_script%

echo. >> %outfile_report_script%

echo {RENAME "0NUMEPL"} "TOT_NUM_FTE" >> %outfile_report_script%

echo "0NUMLTD" >> %outfile_report_script%

echo "0NUMEOL" >> %outfile_report_script%

echo "0NUMPTE" >> %outfile_report_script%

echo "0NUMTMP" >> %outfile_report_script%

echo "0NUMFTE" >> %outfile_report_script%

echo "0CNTPRG" >> %outfile_report_script%

echo "0CAPEXP" >> %outfile_report_script%

echo "0CAP5YR" >> %outfile_report_script%

echo "0SFTWRE" >> %outfile_report_script%

echo "0MNTAGS" >> %outfile_report_script%

echo "0CAPDEV_Internal_Imp" >> %outfile_report_script%

echo "0CAPDEV_External_Imp" >> %outfile_report_script%

echo "0CAPBLD" >> %outfile_report_script%

echo "LSEHOLD" >> %outfile_report_script%

echo "AASHRCN" >> %outfile_report_script%

echo "AMGTFEE" >> %outfile_report_script%

echo "TAREVEN" >> %outfile_report_script%

echo "TAWAIVR" >> %outfile_report_script%

echo "0000000" >> %outfile_report_script%

echo. >> %outfile_report_script%

echo ! >> %outfile_report_script%

 

GOTO :eof

exit /b

 

 

:setfcst

set prefix=Fcst

set "script_ver=&CurrFcst"

set "script_yr=&PlanYear &BudgetStartYear &BudgetMidYear &BudgetEndYear"

exit /b

 

:setbdgt

set prefix=Bdgt

set "script_ver=&CurrBdgt"

set "script_yr=&BudgetStartYear"

exit /b

 

 

:eof

Open in new window

Avatar of elwayisgod
elwayisgod
Flag of United States of America image

ASKER

My result looks like:

{

DECIMAL 8

SUPBRACKETS

SUPCOMMAS

SUPPAGEHEADING

SUPCOLHEADING

NOINDENTGEN

SUPFEED

ROWREPEAT

TABDELIMIT

MISSINGTEXT "#MISSING"

SUPEMPTYROWS

}

 

 

// Begin Company 2050

 

 

<PAGE ("Total Sources","Order Number")

"Total Sources"

"Order Number"

 

 

<ROW ("Version","Scenario","Year","Periods","Format","Time","Cost Center","Accounts")

&CurrFcst

"Scenario"

&PlanYear &BudgetStartYear &BudgetMidYear &BudgetEndYear

"Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"

{RENAME "2050"} "Standard"

{RENAME "838115"} "Monthly"

<LINK(<LEV("Cost Center",0) AND <DESCENDANTS("2050") AND NOT <MATCH("Cost Center", P_*) AND NOT <MATCH("Cost Center", N_*))

{RENAME "No Cost Center"} "P_838115_2050"

{RENAME "No Cost Center"} "N_838115_2050"

 

 

<LINK(<LEV("Accounts",0) AND <DESCENDANTS("GAP5") AND NOT <IDESCENDANTS("Income Tax-Budget"))

//{RENAME "64010100"} "Salary Expense"

//{RENAME "64010100"} "Salary Timing Discount"

{RENAME "76001140"} "Federal Income Tax-Budget"

{RENAME "76100100"} "State Income Tax-Budget"

 

 

{RENAME "0NUMEPL"} "TOT_NUM_FTE"

"0NUMLTD"

"0NUMEOL"

"0NUMPTE"

"0NUMTMP"

"0NUMFTE"

"0CNTPRG"

"0CAPEXP"

"0CAP5YR"

"0SFTWRE"

"0MNTAGS"

"0CAPDEV_Internal_Imp"

"0CAPDEV_External_Imp"

"0CAPBLD"

"LSEHOLD"

"AASHRCN"

"AMGTFEE"

"TAREVEN"

"TAWAIVR"

"0000000"

 

ECHO is off.
Avatar of Lee W, MVP
Have you tried escaping it?

echo ^! >outputfile.txt
My 'CC_Export_List.csv' file looks like this.  On the For F Tokens line do I need the %%H at the end?


2050,838115
2430,902915
2439,902915
2440,903915
2469,902915
ASKER CERTIFIED SOLUTION
Avatar of Bill Prew
Bill Prew

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
@Lee

Yes tried the ^ to no avail.  Just keep getting the Echo is Off on last line.
Avatar of Bill Prew
Bill Prew

Your FOR loop looks okay, you have two tokens coming from the file, so need %%G and %%H to reference them.

~bp
Perfect.  I was trying 'ENDLOCAL' too with no luck.  Forgot about the DisableDelayedExpansion....


Long day....

Thanks
Welcome.

~bp