Board logo

标题: [文本处理] 批处理变量延时的结果,如何在结果中在增加文字? [打印本页]

作者: wlf2r    时间: 2012-7-17 08:52     标题: 批处理变量延时的结果,如何在结果中在增加文字?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=\" %%i in (a.txt) do set #%%i=%%i
  4. for /f "tokens=2 delims==" %%i in ('set #') do (
  5. for /f "tokens=*" %%j in ('findstr %%i b.txt') do (
  6. set prsystem=%%j
  7. echo !prsystem!))
  8. pause
复制代码
这是原代码

只要把 !prsystem!

拿出来 就只能显示一行


如果 我要在 !prsystem! 值前加 测试   怎么弄 我用set  结果只有显示 最后一行 不能显示所有的  !prsystem!内容


A.txt

\\192.168.1.2\c:\……
\\192.168.1.2\d:\……
\\192.168.1.2\e:\……
\\192.168.1.2\f:\……
\\192.168.1.3\f:\……
b.txt

\\192.168.1.2  张三电脑
\\192.168.1.3 李四电脑
作者: forfiles    时间: 2012-7-17 18:16

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=\" %%i in (a.txt) do set #%%i=%%i
  4. for /f "tokens=2 delims==" %%i in ('set #') do (
  5.     for /f "tokens=*" %%j in ('findstr %%i b.txt') do (
  6.         set prsystem=%%j
  7.         echo 测试!prsystem!
  8.     )
  9. )
  10. pause
复制代码

作者: wlf2r    时间: 2012-7-20 14:59

回复 2# forfiles


    额 弄错了 不是用echo  是把上面结果 改掉  不是显示~~~~ 
作者: forfiles    时间: 2012-7-20 16:39

回复 3# wlf2r


    详细说说改成什么东东
作者: wlf2r    时间: 2012-8-1 15:26

本帖最后由 wlf2r 于 2012-8-1 15:27 编辑

回复 4# forfiles


    @echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in (a.txt) do set #%%i=%%i
for /f "tokens=2 delims==" %%i in ('set #') do (
    for /f "tokens=*" %%j in ('findstr %%i b.txt') do (
        set prsystem=%%j
        echo 测试!prsystem!
    )
)
pause

假如说 prsystem 等于
1
2
3
4

您在前面加上   echo 测试!prsystem!
得出结果是 
测试1
测试2
测试3
测试4
这样只是显示 而得不到变量值

如果在用set呢 比如seta = 测试!prsystem! (只是说明 忽略代码错误) 而得出
a 的值是 
测试1
测试2
测试3
测试4

可以在次利用呀  明白不 




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