[20171225]变态的windows批处理4.txt

[20171225]变态的windows批处理4.txt

–//今天上学windows 批管理的echo
&.使用它可以达成类似回车换行的功效.例子:

1.echo &.
R:>echo 1111 & echo 2222
1111
2222

–//可是假设写成如下:

R:>echo 1111 & echo 2222 > aa.txt
1111

R:>cat aa.txt
2222

–//你能够开采1111,显示输出,而2222写入文件aa.txt,改写成管道看看.

R:>echo 1111 &echo 2222 | cat
1111
2222

–//OK.实际上这些是假象,第1行动显示屏,第2行进管道,看下边包车型客车测量试验就知道了.借使要写到文件实际上要加括号,这几个跟linux有二个相似.
R:>(echo 1111 &echo 2222 ) > aa.txt

R:>cat aa.txt
1111
2222

–//这些倒是正常的情形.

2.行使那些天性能够经过管道传输命令给sqlplus.

R:>echo set timing off head off; &echo select  sysdate  from
dual;
set timing off head off;
select  sysdate  from dual;

R:>echo set timing off head off; &echo select  sysdate  from dual; 
| sqlplus -s scott/book@78
set timing off head off;

SYSDATE

2017-12-25 10:06:33

–//晕!!显著set timing off head
off;那行未有经过管道出口,而是向来出口到显示器.因为一旦输入管道,显示的应有是绝非sysdate字段名.
–//留心看前边的例子才意识实际上echo 1111 &echo 2222 | cat
输出1111走显示器,而输出2222管道,看上去显示是常规的.
–//也正是要2行都由此管道必得使用括号.修改如下.

R:>(echo set timing off head off; &echo select  sysdate  from dual;
) | sqlplus -s scott/book@78
2017-12-25 10:08:59

–//小编google开掘此外的写法,在&前出席^.
R:>echo set timing off head off;^&echo select  sysdate  from dual; 
| sqlplus -s scott/book@78
2017-12-25 10:11:57

–//确实是Ok了,可是别的的难点来了:
R:>echo set timing off head off;^&echo select  sysdate  from dual; 
| cat
set timing off head off;
select  sysdate  from dual;

R:>echo set timing off head off;^&echo select  sysdate  from dual;
> aa.txt

R:>cat aa.txt
set timing off head off;&echo select  sysdate  from dual;

–//不可能精通windows的批管理,通过管道出口2行.而利用文件吸纳呈现的是set
timing off head off;&echo select  sysdate  from dual;
–//重定向到文件时^实际上转义&.
set timing off head off; &echo select  sysdate  from dual;

–//而实际上这样试行是那么些的.
R:>cat aa.txt | sqlplus -s scott/book@78
Enter value for echo:
SP2-0546: User requested Interrupt or EOF detected.

–//照旧不佳精通windows的批管理的神妙!!在自己倍感最好的格局依旧加括号相比较好领悟一些.
–//实际上如若能很好精晓链接
–//就能够很好精通.

–//可是即使echo里面有括号难题又来了:
R:>(echo set timing off head off;&echo select  (sysdate+1)  from
dual;)  | sqlplus -s scott/book@78
那时不该 from。

–//相当于)要转义,要转义3次.境遇这种处境每每扩展^正是了.
R:>(echo set timing off head off;&echo select  (sysdate+1^^^)  from
dual;)  | sqlplus -s scott/book@78
2017-12-26 11:16:33

–//而前面这种格局就总结了.
R:>echo set timing off head off;^&echo select  (sysdate+1)  from
dual; |   sqlplus -s scott/book@78
2017-12-26 11:17:35

–//以笔者之见windows批管理真是变态加变态..

发表评论

电子邮件地址不会被公开。 必填项已用*标注