批处理获取IP、MAC、子网掩码、网关
%--直接在dos下时使用一个%加变量
%%--当写成bat文件时需要使用二个%加变量
for /f "tokens=15" %i in ('"ipconfig /all|find /i "IP Address""') do echo ip=%i |
"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,
而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。
其中delims 定义分割类型, tokens定义取值 如果
echo %date% 会输出结果为:
2008-11-28 星期五
针对这个结果,如果想只取 “星期五” 这个字段则可以写成:
for /f "tokens=2 delims= " %i in ('echo %date%') do echo %i
运行结果为:
星期五
如果想取值为:20081128,则可以写成
for /f "tokens=1,2,3 delims=-" %i in ('echo %date%') do (for /f "tokens=1 delims= " %a in ('echo %i%j%k') do echo %a)
运行结果为:
20081128
合并某一目录下的文件
@echo off
for /f %%i in ('dir /s /b *.txt')do (
type %%i>>Result.txt
)
pause
>>--追加合并
>--覆盖
bat里的注释可以用:
REM 或 :: 来实现
删除空行
@echo off
cd.>en1.txt
for /f "delims=" %%i in (1.txt) do >>en1.txt echo %%i
REM start en1.txt
pause