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

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:

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

原文地址:https://www.cnblogs.com/cynchanpin/p/6815713.html