近一段时间,在windows下工作比较多。但是习惯了以前linux/unix下编写shell处理脚本的环境,觉得用windows下的图形界面着实麻烦。所以也学习了些dos批处理的命令。这里先写上一些小技巧,以备后用:
1、如何截取字符串(类似substr的功能)
我们知道,在shell里,可以使用awk或cut或shell脚本自身的{}来截取。
在批处理里面尝试了下substr,没成功。还是google,果然发现好方法:
如,%date%命令默认为:
2010-01-28 星期四
这种形式,我们想要截取前面的10个字符,则可以:
%date:~0,10%
结果就是2010-01-28了。
2、如何换行
在批处理文件中,默认一行就是一条命令,如果想要换行,就可能会出现invalid command这样的错误。如何解决呢?嘿嘿!用^就可以实现了。
比如说我要在批处理里面执行一个oracle导入命令,但又不想用parfile参数来实现。就可以这么做了:
exp%username%/%password%@%linkstr% ^
log=%logfile% ^
file=%dumpfile% ^
tables=(aa,bb,cc) ^
buffer=40960000 ^
direct=n ^
indexes=n ^
constraints=n ^
grants=n
这样脚本就把以上所有行都认做是一行来处理了。
3、变量设定及引用
这个其实在前面已经涉及到了,比如设定用户名:
set username=regonly1
则引用username变量如下:%username%。