Windows-如何在批处理文件中逐字回显行?
我希望从bat文件生成一个动态SAS文件,以便可以从命令行传入一些变量。我希望这样做Windows-如何在批处理文件中逐字回显行?,windows,batch-file,echo,Windows,Batch File,Echo,我希望从bat文件生成一个动态SAS文件,以便可以从命令行传入一些变量。我希望这样做 echo //**$1** JOB 99999,'IMS-MXG',CLASS=3,REGION=100M, 00010026 > DETAIL_EXAMPLE echo // MSGCLASS=Z,MSGLEVEL=(1,1),NOTIFY=&SYSUID 00020036 >> DE
echo //**$1** JOB 99999,'IMS-MXG',CLASS=3,REGION=100M, 00010026 > DETAIL_EXAMPLE
echo // MSGCLASS=Z,MSGLEVEL=(1,1),NOTIFY=&SYSUID 00020036 >> DETAIL_EXAMPLE
echo //JCLLIB JCLLIB ORDER=(SCBP.MXG.JCLLIB) 00030036 >> DETAIL_EXAMPLE
echo //MYSTEP EXEC MXGSAS,WORK='1500,500', 00040036 >> DETAIL_EXAMPLE
echo // OPTIONS='PRINT=REPORT SYSPARM="SITE=CA,ZONE=PRIME"' 00050036 >> DETAIL_EXAMPLE
echo //DETAIL DD DISP=SHR,DSN=**$2** 00060036 >> DETAIL_EXAMPLE
echo //REPORT DD SYSOUT=* 00070036 >> DETAIL_EXAMPLE
echo //SYSPRINT DD SYSOUT=* 00080036 >> DETAIL_EXAMPLE
echo //SYSIN DD * 00090036 >> DETAIL_EXAMPLE
echo OPTIONS LINESIZE=90 ERROR=1 PAGESIZE=32767 PAGENO=1 NUMBER NODATE 00100036 >> DETAIL_EXAMPLE
echo SYMBOLGEN NOLABEL MISSING='' COMPRESS=YES 00110036 >> DETAIL_EXAMPLE
echo OBS=MAX REPLACE FORMDLIM='-' FORMCHAR='|-,???+????+=|-/\<>*'; 00120036 >> DETAIL_EXAMPLE
echo 00130036 >> DETAIL_EXAMPLE
echo 00140036 >> DETAIL_EXAMPLE
echo DATA _NULL_; 00150036 >> DETAIL_EXAMPLE
请注意第2、12、13和14行是如何丢失的。我可能需要研究一下第12行中的一些角色,但是其他的几行让我不知道为什么他们没有出现
有没有办法逐字重复这些行?
非常感谢。使用
echo。
而不是echo
这将保留您的前导空格,还将保护您避免出现您打算回显
@
符号的情况(echo@
…具有特殊解释,但echo.不会在'前面加上前缀。
并且是安全的)
使用
echo.
而不是echo
这将保留您的前导空格,还将保护您避免出现您打算回显
@
符号的情况(echo@
…具有特殊解释,但echo.不会在'前面加上前缀。
并且是安全的)
@ECHO关闭
SETLOCAL
echo(//**$1**JOB 99999,'IMS-MXG',CLASS=3,REGION=100M,00010026>Q3627144.txt
echo(//MSGCLASS=Z,MSGLEVEL=(1,1),NOTIFY=^&SYSUID 00020036>>q3627144.txt
echo(//JCLLIB JCLLIB ORDER=(SCBP.MXG.JCLLIB)00030036>>Q3627144.txt
echo(//MYSTEP EXEC MXGSAS,WORK='1500500',00040036>>q36271044.txt
echo(//OPTIONS='PRINT=REPORT SYSPARM=“SITE=CA,ZONE=PRIME”'00050036>>Q3627144.txt
echo(//详细数据显示=SHR,DSN=**$2**00060036>>Q3627144.txt
echo(//REPORT DD SYSOUT=*00070036>>Q3627144.txt
echo(//SYSPRINT DD SYSOUT=*00080036>>q3627144.txt
echo(//SYSIN DD*00090036>>q36271044.txt
echo(选项LINESIZE=90错误=1页面大小=32767页面编号=1编号节点号00100036>>q36271044.txt
echo(SYMBOLGEN NOLABEL MISSING=''COMPRESS=YES 00110036>>Q3627144.txt
echo(OBS=MAX REPLACE FORMDLIM='-'FORMCHAR='^ |-,???+??+=^ |-/\^*';00120036>>Q3627144.txt
echo(00130036>>Q3627144.txt
echo(00140036>>Q3627144.txt
回音(数据为空)
键入“Q3627144.txt”
回音=====================================
DEL“q3627144.txt*”2>NUL
(
回波(//**$1**JOB 99999,'IMS-MXG',等级=3,区域=100M,00010026
echo(//MSGCLASS=Z,MSGLEVEL=(1,1^),NOTIFY=^和SYSUID 00020036
echo(//JCLLIB-JCLLIB-ORDER=(SCBP.MXG.JCLLIB^)00030036
echo(//MYSTEP EXEC MXGSAS,WORK='1500500',00040036
echo(//OPTIONS='PRINT=REPORT SYSPARM=“SITE=CA,ZONE=PRIME”'00050036
echo(//细节DD DISP=SHR,DSN=**$2**00060036
echo(//报告DD SYSOUT=*00070036
echo(//SYSPRINT DD SYSOUT=*00080036
echo(//SYSIN DD*00090036
echo(选项LINESIZE=90错误=1页面大小=32767页面编号=1编号节点号00100036
回波(SYMBOLGEN NOLABEL MISSING=''压缩=YES 00110036
echo(OBS=MAX REPLACE FORMDLIM='-'FORMCHAR='^ |-,???+??+=^ |-/\^*';00120036
回声(00130036
回声(00140036
回波(数据为空)00150036
)>Q3627144.txt
键入“Q3627144.txt”
后藤:EOF
两种不同的方法(您没有提到语法错误报告)
在第一种情况下,需要转义重定向程序和其他具有特殊含义的字符,即|>@ECHO OFF
SETLOCAL
echo(//**$1**JOB 99999,'IMS-MXG',CLASS=3,REGION=100M,00010026>Q3627144.txt
echo(//MSGCLASS=Z,MSGLEVEL=(1,1),NOTIFY=^&SYSUID 00020036>>q3627144.txt
echo(//JCLLIB JCLLIB ORDER=(SCBP.MXG.JCLLIB)00030036>>Q3627144.txt
echo(//MYSTEP EXEC MXGSAS,WORK='1500500',00040036>>q36271044.txt
echo(//OPTIONS='PRINT=REPORT SYSPARM=“SITE=CA,ZONE=PRIME”'00050036>>Q3627144.txt
echo(//详细数据显示=SHR,DSN=**$2**00060036>>Q3627144.txt
echo(//REPORT DD SYSOUT=*00070036>>Q3627144.txt
echo(//SYSPRINT DD SYSOUT=*00080036>>q3627144.txt
echo(//SYSIN DD*00090036>>q36271044.txt
echo(选项LINESIZE=90错误=1页面大小=32767页面编号=1编号节点号00100036>>q36271044.txt
echo(SYMBOLGEN NOLABEL MISSING=''COMPRESS=YES 00110036>>Q3627144.txt
echo(OBS=MAX REPLACE FORMDLIM='-'FORMCHAR='^ |-,???+??+=^ |-/\^*';00120036>>Q3627144.txt
echo(00130036>>Q3627144.txt
echo(00140036>>Q3627144.txt
回音(数据为空)
键入“Q3627144.txt”
回音=====================================
DEL“Q3627144.t
//**$1** JOB 99999,'IMS-MXG',CLASS=3,REGION=100M, 00010026
// MSGCLASS=Z,MSGLEVEL=(1,1),NOTIFY=&SYSUID 00020036
//JCLLIB JCLLIB ORDER=(SCBP.MXG.JCLLIB) 00030036
//MYSTEP EXEC MXGSAS,WORK='1500,500', 00040036
// OPTIONS='PRINT=REPORT SYSPARM="SITE=CA,ZONE=PRIME"' 00050036
//DETAIL DD DISP=SHR,DSN=**$2** 00060036
//REPORT DD SYSOUT=* 00070036
//SYSPRINT DD SYSOUT=* 00080036
//SYSIN DD * 00090036
OPTIONS LINESIZE=90 ERROR=1 PAGESIZE=32767 PAGENO=1 NUMBER NODATE 00100036
SYMBOLGEN NOLABEL MISSING='' COMPRESS=YES 00110036
OBS=MAX REPLACE FORMDLIM='-' FORMCHAR='|-,???+????+=|-/\<>*'; 00120036
00130036
00140036
DATA _NULL_; 00150036
//**$1** JOB 99999,'IMS-MXG',CLASS=3,REGION=100M, 00010026
//JCLLIB JCLLIB ORDER=(SCBP.MXG.JCLLIB) 00030036
//MYSTEP EXEC MXGSAS,WORK='1500,500', 00040036
// OPTIONS='PRINT=REPORT SYSPARM="SITE=XX,ZONE=PRIME"' 00050036
//DETAIL DD DISP=SHR,DSN=**$2** 00060036
//REPORT DD SYSOUT=* 00070036
//SYSPRINT DD SYSOUT=* 00080036
//SYSIN DD * 00090036
OPTIONS LINESIZE=90 ERROR=1 PAGESIZE=32767 PAGENO=1 NUMBER NODATE 00100036
SYMBOLGEN NOLABEL MISSING='' COMPRESS=YES 00110036
C:\Users\username>echo.// Some setting 00123567>some_file
C:\Users\username>echo.// Some other stuff 00123568>>some_file
C:\Users\username>echo. 00123569>>some_file
C:\Users\username>echo. 00123570>>some_file
C:\Users\username>more some_file
// Some setting 00123567
// Some other stuff 00123568
00123569
00123570
C:\Users\username>
(
a series of statements
)>filename