中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 06:54
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理问题,IF不会用
可打印版本  1,183 / 5
第1楼 sea1112 发表于 2008-11-01 23:56
初级用户 发帖 119 积分 131 来自 gz
[求助]批处理问题,IF不会用
不停的对比两个文件后做工作
第一次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楼 HAT 发表于 2008-11-02 10:31
版主 发帖 5,017 积分 9,023
如果你的问题仅仅在于如何使用if
请给出你如何实现下面两个操作:
1。ctrl+c复制内容提取文字到a.txt
2。对比a.txt和b.txt
第3楼 sea1112 发表于 2008-11-02 12:56
初级用户 发帖 119 积分 131 来自 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楼 HAT 发表于 2008-11-02 15:00
版主 发帖 5,017 积分 9,023
第5楼 sea1112 发表于 2008-11-02 16:03
初级用户 发帖 119 积分 131 来自 gz
Originally posted by HAT at 2008-11-2 03:00 PM:



为什么比什么都说相同啊
第6楼 HAT 发表于 2008-11-02 16:47
版主 发帖 5,017 积分 9,023
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联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023