BAT 这种古老的语言,虽然很简单,可以在实际利用中却真的很麻烦。。
需求:使用 bat 脚本定期巡检大批量 windows 服务器上的每个账号的信息。
思路:Step 1:使用 net user 命令
S2:使用 for 循环嵌套 net user 输出结果
S3:目录名以日期加 IP 的形式命名
S4:使用 at 命令建立计划任务,其实 schtasks 更优,还在研究中
S5:使用 net use 网络共享驱动器,将输出结果 copy 集中网络一个位置
S6: 使用 landesk 推送脚本
解决方案:
1、net user 用户名 >>特定输出文件
2、for /f ” tokens= delims= ” %%i in (文件) do net user %%i >> 特定输出文件
3、获取日期
set a=%date:\=-% rem 避免\显示与目录名冲突
获取 IP
for /f “tokens=2 delims=:” %%i in (‘ipconfig^|find /i “IPv4 “‘) do echo “%%i” |findstr 10 && set b=%%i && goto LABEL
rem 获取正确 IP 后跳转出 for 循环
注:使用 find /i 在 2008 中可以,但是 03 要用 findstr “IP”
4、at 1:00 /every:15 start \~lujing\userchk.bat rem 计划任务
5、网络共享,
net use q: \\IP\UserCHK\FFP passwd/user:superadmin
copy E:\userchk\文件.txt q:\
6、网络共享的方式比较难看
补充 windows 下 ftp 自动上传的脚本
echo open $IP>>http://ftp.tmp
echo $username>>http://ftp.tmp
echo $passwd>>http://ftp.tmp
echo prompt off>>http://ftp.tmp
echo lcd $userchk>>http://ftp.tmp
echo put filename>>http://ftp.tmp
echo bye>>http://ftp.tmp
REM ftp -s 参数后面加需要运行的文本,-i 为多文件传输是非交互式。
ftp -i -s:ftp.tmp
REM 删除临时文件
del http://ftp.tmp
虽然看起来很简单,但是涉及到动态变量赋值,动态变量取值,以及 if 语句,for 循环多重取值结构,字符截断及替换,管道传递及逻辑判断。
基本上掌握了这些批处理可以算基本入门了,有时间再详解这些命令使用。。
源代码:
if not exist E:\userchk mkdir E:userchk if not exist E:\userchk\usercheck.bat copy %~dp0usercheck.bat E:\userchk at |findstr "usercheck" || at 1:00 /every:15 start e:\usrchk\usercheck.bat set b=%date:~0,10% set b=%b:/=-% setlocal enabledelayedexpansion for /f "tokens=2 delims=:" %%i in ('ipconfig^|find /i "IPv4 "') do echo "%%i" |findstr 10 && set a=%%i && goto start || set a=no :start set a=%a: =% set c=%b%-%a% set "c=%c: =%" set n=0 net user >>E:\userchk\"%c%-%computername%.txt" for /f "skip=4 tokens=1,2,3 delims= " %%i in ( E:\userchk\%c%-%computername%.txt ) do net user %%i && net user %%i >>E:\userchk\%c%- %computername%.txt & net user %%j >>E:\userchk\%c%-%computername%.txt & net user %%k >>E:\userchk\%c%-%computername%.txt & set /a n=1+!n! echo user'Num is !n! net use q: \\10.101.22.*\UserCHK\FFP passwd/user:superadmin copy E:\userchk\%c%-%computername%.txt q:\
相关文章
- ThinkPad x13 Gen1傲腾H10重装系统的麻烦(0)
- Win10系统电脑进入安全模式的四种方法,让你轻松应对各种问题(0)
- 【Python】修改Windows中 pip 的缓存位置与删除 pip 缓存(1)
- 记录问题解决的连接(0)
- ‘%s=%s’ % (k, v) for k, v in params.items(), ^ SyntaxError: Generator expression must be parent(0)