windows批处理命令FOR的巧用

简介:

For命令对于我们机房管理员来说是一个非常实用的命令,它可以批量地完成很多操作。在这里我们使用Windows 2000版本中的For命令,因为Windows 2000中的For命令功能比Windows 98中增强了很多。下面举几个比较实用的例子。 

一、测试单网段内所有计算机的连通性 

为了检测机房内所有计算机的连通性,不用一个一个地输入命令,我们只要输入一条命令就可以 了。 

首先建立一个批处理文件Pingall.bat,然后写入一条命令: 

@for /L %%A in (1,1,254) do ping 192.168.0.%%A |find "Reply">>pingall.log 

说明:“/L”参数代表迭代,“%%A”是可替换参数,“(1,1,254)”表示从1开始,步长为1,一直到254。 “find"Reply">>pingall.log”表示一旦发现Reply就将结果写入Pingall.log中。 

运行该批处理程序后,我们只要查看Pingall.log就可以知道机房内电脑的连通情况了。但是这个批处理程序运行还是有点缺陷,即运行速度比较慢。 我们在Ping命令后加上如下参数:-n 1 -l 16 -w 100,命令重新改写为: 

@for /L %%A in (1,1,254) do ping 192.168.0.%%A -n 1 -l 16 -w 100|find "Reply">>pingall.log 

这样该程序就可以很快扫描完所有的计算机。 

二、批量 建立用户 

假设我们要建立60个学生用户,分别是s1、s2……s60。建立一个批处理程序,输入如下命令: 

@for /L %%A in (1,1,60) do net user s%%A /add 

三、批量绑定IP地址和MAC地址 

可专使用一些MAC地址扫描工具将MAC地址扫描出来,然后将IP地址和MAC地址保存到一个文件中。格式如下: 

192.168.0.1 00-e0-4c-60-0c-f6 

192.168.0.2 00-e0-4c-50-07-8d 

…… 

192.168.0.60 00-e0-4c-50-07-80 

将该文件命名为Ipmac.txt。 

建立一个批处理程序然后输入: 

@for /F %%A in (ipmac.txt) do arp -s %%A 

说明:“/F”是使用For命令的文件解析功能,该命令就是将Ipmac.txt中的每一行解析为一个参数,将 Ipmac.txt和批处理程序保存到一个文件夹内。运行该程序,IP地址和MAC地址就绑定好了。 

四、查看局域网中所有的共享文 件夹 

学生常常在机房中共享很多文件夹,有的学生将自己的作业共享给别的同学,为了查清所有的共享,我们可以输入如下命令: 

@for /L %%A in (1,1,60) do net view s%%A |find /v"命令">>allshare.log 

说明:“/v”表示除了字符所在行以外的结果都输出。 

运行该命令,打开Allshare.log我们就可以知道谁私自共享文件夹了。 

五、批量建立学生文件夹 

假 设要建立s1、s2……s60,总共60个文件夹。使用如下命令建立: 

@for /L %%A in (1,1,60) do md s%%A 

如果要使用学生的真实姓名来建立文件夹,可以先在一个文本文件中输入学生姓名,每个姓名要占一行。然后保存为 Name.txt,然后输入: 

@for /F %%A in (name.txt) do md %%A 

将 该命令保存为一个批处理程序,和Name.txt保存到一个文件夹中,然后运行该程序,就会建立很多的文件夹。 

利用For命令还可 以做很多的批量操作,各位老师们发掘一下吧。


-----------------------------------------------------------------------

1.windows 远程批量备份:


@echo off

set /p directory="请输入要备份的目录:"

@echo on

for /f "eol=# tokens=1,2,3 delims= " %%h in (syn.hosts) do net use %%h "%%j" /user:%%i

for /f "delims=" %%a in ('date1 -d "-10 minute ago" +%%H:%%M') do set myvar=%%a

for /f "eol=# tokens=1 delims=\" %%b in (syn.hosts) do at \\%%b %myvar% D:\AutoBackup\scripts\xcopy.bat %directory%

pause


增强版:

@echo off

set /p directory="请输入要备份的目录(chv5):"

@echo on

setlocal EnableDelayedExpansion

for /f "eol=# tokens=1,2,3 delims= " %%h in (syn.hosts) do net use %%h "%%j" /user:%%i

for /f "eol=# tokens=1 delims=\" %%b in (syn.hosts) do (

for /f "delims=" %%a in ('date1 -d "-2 minute ago" +%%H:%%M') do set myvar=%%a

at \\%%b !myvar! D:\AutoBackup\scripts\xcopy.bat %directory%

)

pause


psexec版本(立即执行版,必须加-d参数,否则备份完一台再备份下一台,顺序执行):

@echo off

set /p directory="请输入要备份的目录(chv5):"

@echo on

for /f "eol=# tokens=1,2,3 delims= " %%h in (syn.hosts) do net use %%h "%%j" /user:%%i

for /f "eol=# tokens=1 delims=\" %%b in (syn.hosts) do psexec -d \\%%b D:\AutoBackup\scripts\xcopy.bat %directory%

pause



syn.hosts:

\\192.168.191.15\d$\website administrator xxxx

\\192.168.191.16\d$\website administrator xxxx


xcopy.bat:

@echo off

d:

cd d:\website

xcopy /E %1 "%1-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%\"


2.windows 取出ip:

for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^|find "IP Address"') do echo %%i>ip.txt

for /f "tokens=1 delims= " %%i in (ip.txt) do set ip=%%i














本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/366961 ,如需转载请自行联系原作者









相关文章
|
28天前
|
存储 安全 数据库
适用于 Windows 的管理命令
以下命令可用于管理 Rational® Synergy。
|
2月前
|
人工智能 监控 安全
掌握Windows管理利器:WMI命令实战
本文介绍了Windows Management Instrumentation (WMI) 的基本概念和用途,通过多个实用的`wmic`命令示例,如获取CPU信息、查看操作系统详情、管理服务、检查磁盘空间等,展示了WMI在系统维护中的强大功能。适合IT专业人士学习和参考。
|
2月前
|
Windows
Windows系统命令dir使用详解
Windows系统命令dir使用详解
|
2月前
|
缓存 监控 网络协议
计算机网络的常用的网络通信命令(Windows)
本文介绍了网络技术中常用的命令,如ping用于检测网络连通性,ipconfig查看TCP/IP配置,netstat监控网络状态,arp显示和修改ARP缓存,at安排任务执行,tracert追踪路由,以及nbtstat获取NetBIOS信息。
37 1
|
3月前
|
监控 网络安全 Windows
Windows系统命令
Windows系统命令
|
3月前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
121 3
|
3月前
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
119 5
|
3月前
|
Windows
7-3|windows删除目录下的所有文件的命令
7-3|windows删除目录下的所有文件的命令
|
3月前
|
Windows
windows 下面的 cmd命令
windows 下面的 cmd命令
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?