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

[文本处理] 批处理变量延时的结果,如何在结果中在增加文字?

  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 李四电脑

  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
复制代码

TOP

回复 2# forfiles


    额 弄错了 不是用echo  是把上面结果 改掉  不是显示~~~~ 

TOP

回复 3# wlf2r


    详细说说改成什么东东

TOP

本帖最后由 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

可以在次利用呀  明白不 

TOP

返回列表