Windows脚本\批处理命令学习笔记

来源:互联网 发布:js跨域iframe拒绝访问 编辑:程序博客网 时间:2024/05/17 02:47

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

 

 

 

 

0 0