批处理 - 常用命令
关闭命令行输出
@echo off
说明:@加在命令行前,表示当前命令行不显示;echo off 此语句之后的所有命令行均不显示
设置变量
set today=%date:~10,4%%date:~4,2%%date:~7,2%
调用变量方式:%today%
日期获取
%date%
结果:2012-07-31或Wed 11/02/2016或其他。以当前系统获取为准。
时间获取
%time%
结果:10:21:21.68或其他。以当前系统获取为准。
自定义的日期时间格式
%date:~x,y% %time:~x,y%
说明:x是开始位置,y是取得字符数。
举例:若date的格式为2012-07-31,time的格式为10:21:21.68,要获取201207-10,则命令为 %date:~0,4%%date:~5,2%-%time:~0,2% 。
创建文件夹
md D:\Newfolder
移动文件
move c:\soft\access.log c:\logs\access-new.log
遍历
@echo off rem 遍历目录,获取所有子目录名称(带路径) for /d /r "C:\Program Files" %%i in (*) do echo %%i rem 或者 for /f "delims=" %%i in ('dir /ad/b/s "C:\Program Files"') do echo %%i rem 遍历目录,获取所有子目录名称(不带路径) for /f "delims=" %%i in ('dir /ad/b/s "C:\Program Files\7-Zip\"') do echo %%~ni
续行符与分行符
@echo off rem 续行符&,即命令连接字符,前句执行后无条件执行后句 rem 续行符&&,前句执行成功后才执行后句 rem 续行符||,前句执行成功后才执行后句 pause & exit rem 分行符^
for /f "delims=" %%i in ('dir /ad/b/s "C:\Program Files"')^
do echo %%~ni
获取磁盘剩余空间
wmic logicaldisk Where DriveType="3" get caption,FreeSpace,size |find ":" >>%RESULT% wmic logicaldisk d: get Description,DeviceID,FreeSpace/value >>%RESULT%