中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我是新手,想请教大家一个关于批处理问题
作者:
标题: 我是新手,想请教大家一个关于批处理问题 上一主题 | 下一主题
waxy
初级用户





积分 24
发帖 7
注册 2007-10-25
状态 离线
『楼 主』:  我是新手,想请教大家一个关于批处理问题

我是新手,想请教大家一个关于批处理上的问题~~~
问题是这样的;在执一个批理文件的时候通过“>>”在磁盘上产生了一个TXT文件,想与事准好的一个TXT文件进行对比,要求输出的结果是:将不一致的内容以一种“提示”或“警示”的形式显示出来。当然了,要进行对比的内容只是其中的几行或几项,不是全文通篇对比。先谢谢大家了!!

2007-10-25 23:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

没有听懂,可以举个例子么?

2007-10-26 04:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
waxy
初级用户





积分 24
发帖 7
注册 2007-10-25
状态 离线
『第 3 楼』:  

是这样的:比如说我要用以下批处理将电脑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

2007-10-26 10:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: