elwayisgod
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....
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
Have you tried escaping it?
echo ^! >outputfile.txt
echo ^! >outputfile.txt
ASKER
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
2050,838115
2430,902915
2439,902915
2440,903915
2469,902915
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
@Lee
Yes tried the ^ to no avail. Just keep getting the Echo is Off on last line.
Yes tried the ^ to no avail. Just keep getting the Echo is Off on last line.
Your FOR loop looks okay, you have two tokens coming from the file, so need %%G and %%H to reference them.
~bp
~bp
ASKER
Perfect. I was trying 'ENDLOCAL' too with no luck. Forgot about the DisableDelayedExpansion... .
Long day....
Thanks
Long day....
Thanks
Welcome.
~bp
~bp
ASKER
{
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","Yea
&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.