1、为新建变量赋值:
set 变量=值
2、输出变量的值
echo %变量%
3、关闭批处理中命令行的显示(默认是显示命令行的)
在文件开始处加入:echo off
若需重新显示:echo on
若echo命令行本身也不显示,需要使用@echo off
4、系统当前日期
可以使用系统变量Date获取,例如:
set now = %Date%
echo %now%
结果显示为:2014/04/18 周五
可以安装指定的格式显示日期:如_2014_04_18
set now=_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%
echo %now%
注:%DATE:~x,y%表示从DATE变量的第x位开始,连续y个字符。
5、获取当前日期的前一天的批处理
@echo off&setlocalenabledelayedexpansion
for /f "tokens=1-3 delims=-:/ "%%a in ("%date%") do (set Y=%%a&set M=%%b&set D=%%c&if"!M:~0,1!"=="0" set M=!M:~1!
if "!D:~0,1!"=="0" setD=!D:~1!)
set/a D-=1&if !D! leq 0 (set/aM-=1&if !M!==0 set/a Y-=1,M=12
set/a"T=^!(M-2)","R=(^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)","C=^!(M-4)|^!(M-6)|^!(M-9)|^!(M-11)","D=T*(28+R)+C*30+(^!T&^!C)*31"+D)
set M=0%M%&set D=0%D%
set mydate=%Y%%M:~-2%%D:~-2%
@echo _%mydate%
copy f:\a\_%mydate%\ f:\b\
pause
6、windows bat自动删除3天的文件脚本 (可以参照forfiles的用法)
set n=25
forfiles /p "f:\a" /s /m *.* /d -%n% /c"cmd /c del @path"
pause
/p 可是搜索的路径。在我们这里就是要在哪个目录寻找要删除的文件
/m 根据搜索掩码搜索文件。默认为*,我们要删除某时间以前的文件。我们只关心时间。
/d 文件修改时间在某个时间之前或者之后。-200 表示200天之前的文件。
/c 表示为每个文件执行的命令,这里是要删除该文件所以为" cmd /c del @path”
如果要删除文件夹就不用能用del要改为rd