bat脚本运用记录

bat脚本使用记录
1.写入文件
echo 要写入的文字 >> d:/aa.txt
echo 要写入的文字 > d:/aa.txt
前者添加,后者覆盖
2.获取系统时间
[1].yyyyMMdd格式
%Date:~0,4%%Date:~5,2%%Date:~8,2%   例如 20100414
[2].一般格式
%Date%  例如 2010-04-14 星期三
[3].当前时间
%Time% 例如 20:37:40.81
[4].yyyy-MM-dd HH:mm:ss格式
%Date:~0,10% %Time%
3.cmd注释
在命令行前加 "REM " 例如 REM rar a tst.zip *.*
在命令行前加 "::  " 例如 :: 作者:wangjh
4.cmd输入路径有空格的处理方式
[1].用缩写
写头六个字母(略去空白),另加波浪号和1
比如cd Program Files缩写为cd --Progra~1
在例如cd Local Settings缩写问cd --LocalS~1[注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1]
如果多个文件夹前6个字符相同比如D盘下有Local Host2,Loca3 Host1,Local Host3,那么这三个文件分别为LocalH~1,LocalH~2,LocalH~3
[2].用引号
比如cd c:\Program Files缩写为cd "c:\Program Files"
[3].创建镜像
比如 subst g: "C:\Program Files\Google"
然后就可以直接用g:\替代C:\Program Files\Google了
5.cmd求N天前的日期
set day=%date%
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=N[N为天数]
set sm=0%sm%
set sd=0%sd%
set yestoday=%sy%-%sm:~-2%-%sd:~-2%
6.获取用户的输入
set/p a1=请输入第一个参数并按回车:
if "%a1%"=="1" ( if "%a2%"=="A" goto next)