bat 批处理学习
1、文件写入
“test” > a.txt
“test” >> a.txt
2、判断文件是否存在
If exist a.txt del a.txt
3、判断语句if
If “%1” == “” if not “%1”==””
4、| 让前一命令的输出当后一命令的输入
Help | more
5、& 连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。&& 有阻断效果,前面命令执行失败,后面命令不执行。 ||
Copy a.txt b.txt & del a.txt
6、|| 和&& 相反。前面命令只要有一个执行成功了,就不再往下执行
7、for循环
/r 循环当前目录下的所有文件。可以用通配符过滤
for /r %a in (*.txt) do @find “liubing” %a
/f 循环文件中的每行数据
For /f %a in (test.txt) do echo %a
skip 跳过前几行
for /f “skip=5” %a in (test.txt) do encho %a
tokens 列赋值,默认空格为列分割,不写默认是第一例
for /f “tokens=5” %a in (test.txt) do encho %a
delims 分隔符往往和tokens配合使用
for /f “delims==” %a in (‘set’) do encho %a
for /f “tokens=1 delims==” %a in (‘set’) do encho %a
8、net use 命令
1.复制指定服务硬盘的文件到本地:
建立远程映射,把服务端C盘映射到H盘(本地不存在的):net use h: \\ip\c$ /user:name "password"
复制指定文件到本地:copy /y h:\1\test.txt d:\1.txt
2.复制本地文件到指定服务端
建立远程映射,把服务端C盘映射到H盘(本地不存在的):net use h: \\ip\c$ /user:name "password"
复制指定文件到本地:copy /y d:\1.txt h:\1\test.txt
3.删除连接
net use h: /del
net use \\ip\ipc$ /del
9、获取系统时间
%date% 2020/09/13 周三
%time% 03:30
上面时间格式是根据系统时间显示格式配置的
for /F "tokens=2 delims==." %%i in ('%SystemRoot%\System32\wbem\wmic.exe OS GET LocalDateTime /VALUE') do set fileNameDate=%%i
echo %fileNameDate:~0,12% 202009230330
这种可以解决时间格式不一致截取错误问题
WINDOWS2003(或其他的windows服务器)在局域网共享文件时,有时候测试的时候要更换登陆的用户名。使用NET USE 命令可以方便处理。
1)删除已有的连接,避免出现“一个用户使用...多重连接”的问题。
net use * /delete
如果提示“列表是空的”,表示当前没有任何关联连接;如果提示“您有如下远程连接... 继续运行会取消连接”,输入“Y”或者“y”
2)建立非空连接:
net use \IP\ipc$ "密码" /user:"用户名" (同样有3个空格)
参考net use命令详解及实例
1)建立空连接:
net use \IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)
2)建立非空连接:
net use \IP\ipc$ "密码" /user:"用户名" (同样有3个空格)
3)映射默认共享:
net use z: \IP\c$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)
如果已经和目标建立了ipc访问,具体命令 net use z: \IP\c$
4)删除一个ipc$连接
net use \IP\ipc$ /del
5)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认
6)查看远程主机的共享资源(但看不到默认共享)
net view \IP
7)查看本地主机的共享资源(可以看到本地的默认共享)
net share
8)得到远程主机的用户名列表
nbtstat -A IP
9)得到本地主机的用户列表
net user
10)查看远程主机的当前时间
net time \IP
11)显示本地主机当前服务
net start
12)启动/关闭本地服务
net start 服务名 /y
net stop 服务名 /y
13)映射远程共享:
net use z: \IP\baby
此命令将共享名为baby的共享资源映射到z盘
14)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推
net use * /del /y删除全部
15)激活用户/加入管理员组
1 net uesr account /active:yes
2 net localgroup administrators account /add
16)删除一个已建立的ipc$连接
net use \IP\ipc$ /del