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

[文本处理] 求助批处理解决文本查找替换

首先谢谢各位了。
文档在附件中要求如下:

1.txt文档内容公司名称那里在2.TXT中找到并且替换成2.TXT每行后面那个名字
入第一个

71001-00003236285AAA~~5~~新雅办公用品有限公司~~无~~竹岛办南竹岛D区5-4号 无~~无 无~~~~~~~~~~20090728~~
71001-00003236285AAA~~5~~大新雅集团~~无~~竹岛办南竹岛D区5-4号 无~~无 无~~~~~~~~~~20090728~~

就好下面类推

看来大家都不热情啊,我弄了一个
@echo off
for /f "tokens=1-2 delims= " %%i in (2.txt) do (set "%%i=%%j")
set n=0
for /f "tokens=1-7 delims=~" %%a in ('findstr "71001" 1.txt') do (
    if defined %%c (
    set /a n+=1
    call set "%%n%%=%%%%c%%"
))                                             
for /f "tokens=1-9 delims=:~" %%a in ('findstr /n ".*" 1.txt') do (
    if defined %%d (
       call echo %%b~~%%c~~%%%%d%%~~%%e~~%%f~~%%g~~~~~~~~~~%%h~~
     ) else (
       call echo %%b~~%%c~~%%d~~%%e~~%%f~~%%g~~%%h~~~~~~~~~~%%i~~
))>>op.txt
start op.txt
exit

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1*" %%i in (2.txt) do set "%%i=%%j"
  3.     (for /f "delims=" %%i in (1.txt) do (
  4.       set str=%%i
  5.       for /f "tokens=3 delims=~" %%a in ("%%i") do (
  6.       if defined %%a for %%b in (!%%a!) do set str=!str:%%a=%%b!
  7.       )
  8.       echo !str!
  9.     ))>test.txt
  10. start "" "test.txt"
复制代码

TOP

将两个文本都导入excel表,再用vlookup函数就可以轻松解决。
***共同提高***

TOP

返回列表