![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 05:57 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 我是新手,想请教大家一个关于批处理问题 |
| 可打印版本 693 / 2 |
| 第1楼 waxy | 发表于 2007-10-25 23:35 |
| 初级用户 发帖 7 积分 24 | |
|
我是新手,想请教大家一个关于批处理问题 我是新手,想请教大家一个关于批处理上的问题~~~
问题是这样的;在执一个批理文件的时候通过“>>”在磁盘上产生了一个TXT文件,想与事准好的一个TXT文件进行对比,要求输出的结果是:将不一致的内容以一种“提示”或“警示”的形式显示出来。当然了,要进行对比的内容只是其中的几行或几项,不是全文通篇对比。先谢谢大家了!! |
|
| 第2楼 lxmxn | 发表于 2007-10-26 04:19 |
| 版主 发帖 4,938 积分 11,386 | |
|
没有听懂,可以举个例子么?
|
|
| 第3楼 waxy | 发表于 2007-10-26 10:38 |
| 初级用户 发帖 7 积分 24 | |
|
是这样的:比如说我要用以下批处理将电脑A的硬件信息抓出来,将其抓出来的信息生产一个TXT文件(其它文件也可),然后再用此批理在电脑B上运行,同样是抓硬件信息,但在程序运行完成后,要将抓出来的硬件信息与电脑A上抓出来的TXT文件内容对比,将不一致的内容“提示”或“警示”的形式显示出来。当然我要的只是其中几个部件的信息---批处理如下,批处内容是“非常批处理交流论坛”上一兄弟提供的----
@echo off color 27 title 伤脑筋 硬件检测 bbs.verybat.cn mode con cols=90 sc config winmgmt start= auto >nul 2<&1 net start winmgmt 2>1nul setlocal ENABLEDELAYEDEXPANSION echo 主版: for /f "tokens=1,* delims==" %%a in ('wmic BASEBOARD get Manufacturer^,Product^,Version^,SerialNumber /value') do ( set /a tee+=1 if "!tee!" == "3" echo 制造商 = %%b if "!tee!" == "4" echo 型 号 = %%b if "!tee!" == "5" echo 序列号 = %%b if "!tee!" == "6" echo 版 本 = %%b ) set tee=0 echo BIOS: for /f "tokens=1,* delims==" %%a in ('wmic bios get CurrentLanguage^,Manufacturer^,SMBIOSBIOSVersion^,SMBIOSMajorVersion^,SMBIOSMinorVersion^,ReleaseDate /value') do ( set /a tee+=1 if "!tee!" == "3" echo 当前语言 = %%b if "!tee!" == "4" echo 制造商 = %%b if "!tee!" == "5" echo 发行日期 = %%b if "!tee!" == "6" echo 版 本 = %%b if "!tee!" == "7" echo SMBIOSMajorVersion = %%b if "!tee!" == "8" echo SMBIOSMinorVersion = %%b ) set tee=0 echo. echo CPU: for /f "tokens=1,* delims==" %%a in ('wmic cpu get name^,ExtClock^,CpuStatus^,Description /value') do ( set /a tee+=1 if "!tee!" == "3" echo CPU个数 = %%b if "!tee!" == "4" echo 处理器版本 = %%b if "!tee!" == "5" echo 外 频 = %%b if "!tee!" == "6" echo 名称及主频率 = %%b ) set tee=0 echo. echo 显示器: for /f "tokens=1,* delims==" %%a in ('wmic DESKTOPMONITOR get name^,ScreenWidth^,ScreenHeight^,PNPDeviceID /value') do ( set /a tee+=1 if "!tee!" == "3" echo 类 型 = %%b if "!tee!" == "4" echo 其他信息 = %%b if "!tee!" == "5" echo 屏幕高 = %%b if "!tee!" == "6" echo 屏幕宽 = %%b ) set tee=0 echo. echo 硬 盘: for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get model^,interfacetype^,size^,totalsectors^,partitions /value') do ( set /a tee+=1 if "!tee!" == "3" echo 接口类型 = %%b if "!tee!" == "4" echo 硬盘型号 = %%b if "!tee!" == "5" echo 分区数 = %%b if "!tee!" == "6" echo 容 量 = %%b if "!tee!" == "7" echo 总扇区 = %%b ) echo 分区信息: wmic LOGICALDISK where mediatype='12' get description,deviceid,filesystem,size,freespace set tee=0 echo. echo 网 卡: for /f "tokens=1,* delims==" %%a in ('wmic NICCONFIG where "index='1'" get ipaddress^,macaddress^,description /value') do ( set /a tee+=1 if "!tee!" == "3" echo 网卡类型 = %%b if "!tee!" == "4" echo 网卡IP = %%b if "!tee!" == "5" echo 网卡MAC = %%b ) set tee=0 echo. echo 打印机: for /f "tokens=1,* delims==" %%a in ('wmic PRINTER get caption /value') do ( set /a tee+=1 if "!tee!" == "3" echo 打印机名字 = %%b ) set tee=0 echo. echo 声 卡: for /f "tokens=1,* delims==" %%a in ('wmic SOUNDDEV get name^,deviceid /value') do ( set /a tee+=1 if "!tee!" == "3" echo 其他信息 = %%b if "!tee!" == "4" echo 型 号 = %%b ) set tee=0 echo. echo 内 存: for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "内存"') do ( echo %%a 4534 %%b ) echo. echo 显 卡: del /f "%TEMP%\temp.txt" 2>nul dxdiag /t %TEMP%\temp.txt :显卡 rem 这里需要30秒左右! if EXIST "%TEMP%\temp.txt" ( for /f "tokens=1,2,* delims=:" %%a in ('findstr /c:" Card name:" /c:"Display Memory:" /c:"Current Mode:" "%TEMP%\temp.txt"') do ( set /a tee+=1 if !tee! == 1 echo 显卡型号: %%b if !tee! == 2 echo 显存大小: %%b if !tee! == 3 echo 当前设置: %%b ) ) else ( ping /n 2 127.1>nul goto 显卡 ) set /p var=需要额外信息吗(y/n): if /i %var% == y notepad "%TEMP%\temp.txt" del /f "%TEMP%\temp.txt" 2>nul pause |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |