近一段时间,在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%。