Board logo

标题: [文本处理] 批处理如何从一个文本提取指定内容复制到另外一个文本指定位置 [打印本页]

作者: sjl2002    时间: 2013-12-26 18:06     标题: 批处理如何从一个文本提取指定内容复制到另外一个文本指定位置

A.txt文本内容:
111111111---001
222222222---002
333333333---003
444444444---004
B.txt文本内容:
宽带账号:
宽带密码:
宽带自动登录:真
我想知道能不能提示手动输入001 002 003 后自动复制A文本里面---前面的内容到 B文本宽带账号:后面
作者: 1270697389    时间: 2013-12-26 19:24

本帖最后由 1270697389 于 2013-12-26 19:25 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p m=输入密码:
  4. for /f "tokens=1-2 delims=-" %%i in (a.txt) do (
  5.    
  6. if /i %%j==!m! (
  7. echo,宽带账号:%%i>b.txt
  8. echo,宽带密码:%%j>>b.txt
  9. echo,宽带自动登录:真>>b.txt
  10. )
  11. )
  12. pause
复制代码

作者: sjl2002    时间: 2014-1-2 14:24

回复 2# 1270697389


    试了下能提取 可是你理解错意思了,后面那个001代表的是机器号 不是密码 。还是要感谢你
作者: sjl2002    时间: 2014-1-2 14:29

@echo off
@setlocal enabledelayedexpansion
@ren b.txt _b.txt@for /f "tokens=1,2* delims=-" %%i in (a.txt) do (
        @set pcname=%%j
        @set pwd=%%i
        @if %computername%==!pcname! (
                @for /f "delims=" %%k in (_b.txt) do (
                        @set ln=%%k
                        @if !ln!==宽带账号: (
                                @echo 宽带账号:%computername% >> b.txt
                        ) else (
                                @if !ln!==宽带密码: (
                                        @echo 宽带密码:!pwd! >> b.txt
                                ) else (
                                        @echo !ln! >> b.txt
)))))if not exist b.txt (
        @ren _b.txt b.txt
) else (
        @del _b.txt /f /q >nul
)




帮我看看问题出在哪了
作者: sjl2002    时间: 2014-1-2 15:54

还有个问题 如果A.txt文件变成这样格式:
001
12345678454
002
12313231333
003
123132313213
004
1231321313213
.........
应该怎么写。
作者: 1270697389    时间: 2014-1-2 19:00

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a r=0
  4. set /p m=输入密码:
  5. for /f "tokens=1-2 delims=-" %%i in (a.txt) do (
  6. set /a r+=1  
  7. setlocal enabledelayedexpansion
  8. if /i %%i==!m! (
  9. set /a k=!r!+1
  10. echo,宽带密码:%%i
  11. )
  12. if /i !r!==!k! (
  13. echo 宽带账号:%%i
  14. )
  15. )
  16. pause
复制代码

作者: 1270697389    时间: 2014-1-4 17:38

1270697389 发表于 2014-1-2 19:00
  1.     @echo off
  2. setlocal enabledelayedexpansion
  3. set /a r=0
  4. set /p m=输入密码:
  5. for /f "tokens=1-2 delims=-" %%i in (a.txt) do (
  6. set /a r+=1  
  7. setlocal enabledelayedexpansion
  8. if /i %%i==!m! (
  9. set /a k=!r!+1
  10. echo,宽带密码:%%i>>b.txt
  11. )
  12. if /i !r!==!k! (
  13. echo 宽带账号:%%i>>b.txt
  14. )
  15. )
  16. pause
复制代码
加上就可以了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2