[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]BAT如何实现文件对比

本帖最后由 1270697389 于 2013-12-13 18:43 编辑

文本1:
1.txt
aaa-***
bbb-***
ccc-***

文本2:
2.txt
aaa-***
bbb-***
ccc-***
ddd-***
结果:
(对比文件并找出前面3个字符不同的行)
3.txt
ddd
谢谢大家
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
初九的冬天

  1. @echo off&setlocal
  2. set f1=a.txt
  3. set f2=b.txt
  4. set f3=c.txt
  5. copy nul %f3%
  6. for /f "tokens=1 delims=," %%i in (%f2%)do set "%%i=y"
  7. for /f "tokens=1,2 delims=," %%m in (%f1%)do (
  8. if defined %%m (set "%%m=")else echo.%%m,%%n>>%f3%)
  9. for /f "tokens=1,2 delims=," %%i in (%f2%)do (
  10. if defined %%i echo.%%i,%%j >>%f3%)
  11. start %f3%
复制代码
初九的冬天

TOP

回复  1270697389
这和1楼要求有什么关系啊
xxpinqz 发表于 2013-12-13 07:59


谢谢你
初九的冬天

TOP

回复 8# 1270697389
这和1楼要求有什么关系啊
  1. fc 1.txt 2.txt
复制代码
1

评分人数

初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复  1270697389
看不懂你说什么,什么不行,让我猜吗?
xxpinqz 发表于 2013-12-12 16:54



   我 有两个从进程里面导出来的txt文本,里面有正在运行的程序列表,我就是想对比刚起动是的进程列表和电脑反应慢、卡的时候的进程列表,   找出多余的程序进程,我再把它kill掉。由于进程列表数据太多,看不过来。谢谢!
初九的冬天

TOP

回复 4# 1270697389
看不懂你说什么,什么不行,让我猜吗?
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 5# lansemouzi
    在那个情况下可以当空格用

TOP

本帖最后由 lansemouzi 于 2013-12-12 14:15 编辑

回复 3# lifei259
echo 是显示的意思 这个我知道 但是echo, 是什么呢? 没有见过 ,本人很菜 望知道 谢谢

TOP

本帖最后由 1270697389 于 2013-12-12 18:08 编辑
xxpinqz 发表于 2013-12-11 18:50



    1.txt

映像名称
=========================
System
System
smss.exe
csrss.exe
wininit.exe
csrss.exe
services.exe
lsass.exe
lsm.exe
svchost.exe
winlogon.exe
nvvsvc.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
ZhuDongFangYu.exe
svchost.exe
spoolsv.exe
svchost.exe
devmonsrv.exe
svchost.exe
EvtEng.exe
RegSrvc.exe
SamsungDeviceConfiguratio
svchost.exe
obexsrv.exe
wlanext.exe
conhost.exe
alg.exe
svchost.exe
unsecapp.exe
nvxdsync.exe
nvvsvc.exe
taskhost.exe
svchost.exe
dwm.exe
explorer.exe
rundll32.exe
360tray.exe
360sd.exe
dllhost.exe
nvtray.exe
360rp.exe
SearchIndexer.exe
dmhkcore.exe
SoftMgrLite.exe
igfxext.exe
igfxsrvc.exe
CommonAgent.exe
CLMLSvc.exe
Media+Player10Serv.exe
hkcmd.exe
igfxpers.exe
BTHSAmpPalService.exe
BTHSSecurityMgr.exe
LMS.exe
SWMAgent.exe
svchost.exe
WLIDSVC.EXE
WLIDSVCM.EXE
UNS.exe
svchost.exe
audiodg.exe
SGImeGuard.exe
KuGou.exe
taskmgr.exe
wuauclt.exe
Client.exe
TenioDL.exe
Tencentdl.exe
svchost.exe
taskeng.exe
svchost.exe
SearchProtocolHost.exe
SearchFilterHost.exe
EasySpeedUpManager.exe
YCMMirage.exe
MovieColorEnhancer.exe
SCCSpeedBoot.exe
WmiPrvSE.exe
cmd.exe
conhost.exe
tasklist.exe

2.txt

映像名称
=========================
System
System
smss.exe
csrss.exe
wininit.exe
csrss.exe
services.exe
lsass.exe
lsm.exe
svchost.exe
winlogon.exe
nvvsvc.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
ZhuDongFangYu.exe
svchost.exe
spoolsv.exe
svchost.exe
devmonsrv.exe
svchost.exe
EvtEng.exe
RegSrvc.exe
SamsungDeviceConfiguratio
svchost.exe
obexsrv.exe
wlanext.exe
conhost.exe
alg.exe
svchost.exe
unsecapp.exe
nvxdsync.exe
nvvsvc.exe
taskhost.exe
svchost.exe
dwm.exe
explorer.exe
rundll32.exe
360tray.exe
360sd.exe
dllhost.exe
nvtray.exe
360rp.exe
SearchIndexer.exe
dmhkcore.exe
SoftMgrLite.exe
igfxext.exe
igfxsrvc.exe
CommonAgent.exe
CLMLSvc.exe
Media+Player10Serv.exe
hkcmd.exe
igfxpers.exe
BTHSAmpPalService.exe
BTHSSecurityMgr.exe
LMS.exe
SWMAgent.exe
svchost.exe
WLIDSVC.EXE
WLIDSVCM.EXE
UNS.exe
svchost.exe
audiodg.exe
SGImeGuard.exe
KuGou.exe
taskmgr.exe
wuauclt.exe
Client.exe
TenioDL.exe
Tencentdl.exe
svchost.exe
taskeng.exe
svchost.exe
SearchProtocolHost.exe
SearchFilterHost.exe
EasySpeedUpManager.exe
YCMMirage.exe
MovieColorEnhancer.exe
SCCSpeedBoot.exe
dllhost.exe
WmiPrvSE.exe
cmd.exe
conhost.exe
tasklist.exe

你的代码我试了,少量的没问题,到这里就不行了,有什么办法解决吗?谢谢你!
两个文件只有红色的那个不一样,用对比找出来。谢谢!
初九的冬天

TOP

  1. @echo off
  2. for /f "delims=-" %%a in ('findstr /vlg:1.txt 2.txt') do echo,%%a>>3.txt
  3. pause
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in ('findstr /vlg:1.txt 2.txt') do (
  3.     set "str=%%a"
  4.     echo,!str:~,3!
  5. ))>3.txt
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表