㈠for 基本用法
for %%变量名 in (集合) do 要执行的命令
㈡for 带参用法 (四个参数)
①FOR /D %%变量名 IN (集合) DO 命令 D即Directory目录的意思,如for /d %%i in (c:\*) do echo %%i 这条命令的意思就是只显示c盘下面目录,因为加了D参数,所以只显示目录
②FOR /R 命令工作路径 %%变量名 IN (集合) DO 命令 R即是Route路径的意思,如for /r c:\ %%i in(*.dll) do echo %%i 则一层一层将c盘下面所有dl文件显示出来
③FOR /L %%变量名 IN (起点,幅度,终点) DO 命令 L即是LOOP,循环的意思
④ a.FOR /F [“设置”] %%变量 IN (要处理的文件) DO 命令
b.FOR /F [“设置”] %%变量 IN (“要处理的字符串”) DO 命令
c.FOR /F [“设置”] %%变量 IN (‘要处理的dos命令’) DO 命令
设置:①eol=单个字符 —–单个字符 注释作用
②skip=要跳过的行数
③delims=分隔符a分隔符b……
④tokens=要取的值所在的列数号
⑤usebackq
㈢for变量的扩展 (扩展符号“~”)
%~I – 删除任何引号(“),扩充 %I
%~fI – 将 %I 扩充到一个完全合格的路径名
%~dI – 仅将 %I 扩充到一个驱动器号
%~pI – 仅将 %I 扩充到一个路径
%~nI – 仅将 %I 扩充到一个文件名
%~xI – 仅将 %I 扩充到一个文件扩展名
%~sI – 扩充的路径只含有短名
%~aI – 将 %I 扩充到文件的文件属性
%~tI – 将 %I 扩充到文件的日期/时间
%~zI – 将 %I 扩充到文件的大小
if命令详解
if的用法:1. ①if A运算符B (要执行的命令) else 其他命令
②if not A运算符B (要执行的命令) else 其他命令
2.①if exist 文件 要执行的命令
②if not exist 文件 要执行的命令
3.①if errorlevel 数字 要执行的命令
②if not errorlevel 数字 要执行的命令
4.①if %errorlevel%==数字 要执行的命令
②if not %errorlevel%==数字 要执行的命令
运算符包括:
EQU-等于 NEQ-不等于 LSS-小于 LEQ-小于或等于 GTR-大于 GEQ-大于或等于
set 命令
set 变量名=变量值
set /p 变量名=”提示信息”
set /a 变量名=表达式
set 新变量名=%已赋值变量:~起始,数量%
set 新变量名=%已赋值变量:要替换的字符=替换后的字符%
1.@
隐藏执行的命令,只显示结果.
例子:
echo 欢迎来到 @echo 欢迎来到 pause
2.&
命令连接符号.就是把两个命令连续执行,不用分行
例子:
dir c:\ & dir d:\ & dir e:\
3.&&
连接两个命令,当&&前的命令成功时,才执行&&后的命令。
例子:
dir c:\ && dir d:\
dir z:\ && dir d:\
4.|
管道符,就是将上一个命令的输出内容,作为下一个命令的输入内容.
例子:
type c:\windows\*.log|more
5.||
命令连接符号,表示上一条命令执行失败后,才执行||符号后的内容.
例子:
dir z:|| dir c:\
6.>
重定向符,将命令的输出结果重定向到其后面的设备中去,后面的设备中的内容被覆盖.
dir c:\ >d:\test.txt
7.>>
重定向符,将命令的输出结果重定向到其后面的设备中去,后面的设备中的内容会被增加在后面.
例子:
dir c:\ >>d:\test.txt
dir d:\ >>d:\test.txt
8.<
重定向符,将后面的指定设备的内容,作为前面命令的输入内容
例子:
建立个1.txt文件,内容为net user
nc -l -v -p 888
nc 127.0.0.1 888 <1.txt
9.^
取消特殊符号的作用
例子:
echo ^> >1.txt
9.%
有点特殊,我先讲一个%0 它可以返回批处理所在绝对路径
例子:
@echo off
net user
%0 效果就是重复执行上面的命令,因为执行到%0时又返回到绝对路径了,就又从头开始执行
10.*
通配符号,表示任意个字符.
例子:
del c:\windows\*.log
11.?
通配符号,表示任意一个字符.
例子:
net ?ser
12.“.”
表示当前目录
例子:
dir .\
13.”..”
表示上一级目录
例子:
cd..
14.” ”
界定符,通常用来引用含有空格的目录.
例子:
dir “C:\Documents and Settings”
15.”:”
标签定位符,表示后面的内容是一个标签名
例子:
@echo off
:start
echo Hello world,heiying is there..
pause
goto start
16.”,”
某些时候可以当空格使用
例子:
echo,
dir,c:\
17.”;”
分号作用就是,当命令相同时,可以将不同目标用;来隔离.
例子:
dir c:\;d:\
FOR /L %%i IN (1,1,37) DO nc 127.0.0.1 80 <1.txt >nul 其中>nul表示不显示返回的内容
批处理整理IP的代码:
@echo off
color a
for /f “eol=- tokens=1 delims= ” %%i in (result.txt) do echo %%i>>1.txt
for /f “eol=P tokens=1 delims= ” %%i in (1.txt) do echo %%i>>2.txt
for /f “eol=S tokens=1 delims= ” %%i in (2.txt) do echo %%i>>Open.txt
del 1.txt
del 2.txt
ping -n 10 127.1 ping 127.1 10次,常作为获取等待时间作用
for /r “D:\Program Files\Borland\Projects” %%i in (*.dcu *.exe) do echo %%i
系统变量%SystemRoot% = C:\WINDOWS 在cmd中输入set就可看到全部系统变量
DEL命令选项中,/F 强制删除只读文件
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
– 表示“否”的前缀
del /a /f *.txt就能删除隐藏文件
设置用户chenming,文件 F:\1.txt
设置所有权限:icacls F:\1.txt /grant chenming:F
禁止访问:icacls F:\1.txt /deny chenming:(GR)