楼 主
[求助]批处理问题,IF不会用
发表于 2008-11-01 23:56 · 中国 广东 广州 电信
初级用户
★★
积分 131 发帖 119 注册 2007-06-12 22:50 19年会员 UID 91125 性别 男 来自 gz
状态 离线
不停的对比两个文件后做工作
第一次ctrl+c复制内容提取文字到a.txt后,COPY a.txt b.txt
第二次ctrl+c复制内容提取文字到a.txt后,对比a.txt和b.txt
如果内容是一样的就返回,不一样就echo 新内容
[ Last edited by sea1112 on 2008-11-2 at 13:47 ]
第 2 楼
发表于 2008-11-02 10:31 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
如果你的问题仅仅在于如何使用if
请给出你如何实现下面两个操作:
1。ctrl+c复制内容提取文字到a.txt
2。对比a.txt和b.txt
第 3 楼
发表于 2008-11-02 12:56 · 中国 广东 广州 电信
初级用户
★★
积分 131 发帖 119 注册 2007-06-12 22:50 19年会员 UID 91125 性别 男 来自 gz
状态 离线
@echo off
::提取ctrl+c里的内容到变量
:ag
@echo WScript.StdOut.Write(new ActiveXObject('htmlfile').parentWindow.clipboardData.getData('text'))> tmp.js 2>nul
@for /f "delims=" %%a in ('cscript //Nologo tmp.js') do @set ClipboardText=%%a >nul 2>nul
@del tmp.js /f /q >nul 2>nul
::把ctrl+c内容与123.txt文件内容对比后提取123.txt里与变量相关的内容
findstr %ClipboardText% 123.txt>321.txt
::通过copy文件后做前后内容的对比
copy 321.txt 3721.txt
::以下就是对比不会写,帮助写写内容
::------------------------------------------------
::如果321.txt和3721.txt内容相就回到ag
::-------------------------------------------------
::用vbs显示相关内容
for /f %%a in (321.txt) do set ts=%%a
echo MsgBox("%ts%")>tx.vbs
start tx.vbs
ping -n 5 127.1>nul
goto ag
ctrl+c 内容是"与发动机曲轴相连的是"
123.txt 内容是
第1题:与发动机曲轴相连的是( ),和变速器输入轴相连的是涡轮,导轮则布置在它们之间,
答案:、泵轮
第2题:( )接受发动机的动力,使车辆运动,并保证车辆正常行驶。
答案:、底盘
第3题:未来叉车将广泛采用( )。发动机尾气催化、净化技术的发展将有效降低有害气体和微粒的排放。
答案:、电子燃烧喷射和共轨技术
第4题:除个别标志外,颜色为( ),红圈,红杠、黑图案的标志是禁令标志。
答案:、白底
这个程序工作是:
不停监控ctrl+c的内容后,与文件123.txt内容对比提取相关内容做变量,用vbs显示出来相关内容。
要求:只显示一次,不是不停显示。
我不会写if,请求帮助
我是批处理新手,能精简的就写写给学习学习。
[ Last edited by sea1112 on 2008-11-2 at 13:17 ]
第 4 楼
发表于 2008-11-02 15:00 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
@echo off
::比较
fc a.txt b.txt>nul
::判断
if errorlevel 0 (
echo 相同
) else (
echo 不同
)
pause
第 5 楼
发表于 2008-11-02 16:03 · 中国 广东 广州 电信
初级用户
★★
积分 131 发帖 119 注册 2007-06-12 22:50 19年会员 UID 91125 性别 男 来自 gz
状态 离线
Originally posted by HAT at 2008-11-2 03:00 PM:
@echo off
::比较
fc a.txt b.txt>nul
::判断
if errorlevel 0 (
echo 相同
) else (
echo 不同
)
pause
为什么比什么都说相同啊
第 6 楼
发表于 2008-11-02 16:47 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
Microsoft Windows XP
(C) Copyright 1985-2001 Microsoft Corp.
C:\Test>type a.txt
aaa
C:\Test>type b.txt
bbb
C:\Test>type test.bat
@echo off
::比较
fc a.txt b.txt>nul
::判断
if %errorlevel%==0 (
echo 相同
) else (
echo 不同
)
C:\Test>test.bat
不同
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正