1. @echo off
DOS在运行批处理时,
会依次执行批处理中的每条命令,
并且会在显示器上显示,
如果你不想让它们显示,
可以加一个“echo off”
当然,“echo off”也是命令,
它本身也会显示,
如果连这条也不显示,
就在前面加个“@”。
2. set命令:显示、设置或删除 环境变量
类似编程语言vb的声明定义变量。不过它省去声明变量,直接赋值(隐式声明吧~~)
注:引用变量 用百分括住
注:定义多个变量用逗号隔开 例 set z=1,z=2
set 命令给变量赋值有三种基本形式,不加参数的和加 /p 及/a 其中,set/p 除了能接收键盘输入值外,还提供了你所说的形式,把一个文件的第一行赋给变量, 而set/a 兼计算功能,将结果(数字型)赋给变量,且可一条命令(不用连接命令)给多个变量赋值
3.REM为注释命令
一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
4.系统时间
用系统时间给文件命名,现在可以用:
Set RQ=%Date:~0,4%%Date:~5,2%%Date:~8,2%
Set SJ=%time:~0,2%%time:~3,2%
则%RQ%_%SJ%就可以得到日期时间的拼接字串。
例如,现在的时间为:2008-4-15 15:45:30
上述的%RQ%_%SJ%将返回:20080415_1545
【遇到的问题】
如果当前时间的小时数<10,则返回的小时前没有补零,
例如,现在的时间为:2008-4-15 05:45:30
上述的%RQ%_%SJ%将返回:20080415_ 545
如何将小时前面的0得以补全呢?
字符串替换,空格替换为零:
set RQ=....
set SJ=....
set SJ=%SJ: =0%
5. del命令
del F:\_desktop.ini /f /s /q /a (F代表你要操作的盘符,如果是C盘就把F改成C)
强制删除F盘下所有目录内(包括X盘本身)的_desktop.ini文件并且不提示是否删除。
/f 表示强制删除文件
/s表示子目录都要删除该文件
/q表示无声,不提示
/a根据属性选择要删除的文件
R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
6.重定向1: ">"和">>"
将输出信息重定向到指定的设备或文件。系统默认输出到显示器。
如:echo aaaaa>a.txt 即可将本在显示器上显示的信息aaaaa输出到文件a.txt中,屏幕上没有任何显示。如果文件a.txt本来已经存在,该命令将首先擦除a.txt中的所有信息,然后写入信息aaaaa;若a.txt本来就不存在,该命令即可新建一个a.txt文件,并写入信息aaaaa。
echo aaaaa>>a.txt 类似于echo aaaaa>a.txt。区别在于:如果a.txt本已存在,>a.txt会擦除a.txt中的原有内容,而>>a.txt并不擦除原有内容,仅在a.txt文件的末尾添加信息aaaaa。a.txt不存在时,二者没有差别。
重定向2: "<"
将输入信息来源重定向为指定的设备或文件。系统默认从显示器读取输入信息。
@echo off
echo abcdefg——这是文件a.txt中的信息>a.txt
echo 请任意输入字符,以回车结束:
set /p ifo=
cls
echo 【 从屏幕获得的输入信息 】
echo %ifo%
set /p ifo=<a.txt
echo 【 从文件a.txt获得的输入信息 】
echo %ifo%
pause>nul
7. 目录中有空格时,用双引号括起来
C:\"Program Files"\IBM\Java50\bin\java
8. rmdir/Q mkdir
copy %APPI_HOME%report\*%timestamp%* %APPI_HOME%report\backup\%timestamp% >> %logfile%
欢迎关注公众号:“架构一线”,定期分享一些实战心得,互联网前沿技术等.