Board logo

标题: [文本处理] 批处理映射盘循环重复,菜鸟求指导 [打印本页]

作者: fgh656565    时间: 2020-1-13 15:41     标题: 批处理映射盘循环重复,菜鸟求指导

ysp.txt 里我存放的是映射盘信息
我需要将192.168.14.90所在的行 对应的映射盘都找出来 然后再通过 pf里的 3个盘符 去让他单独使用
但是 我这个批处理 无法实现
重复循环了
  1. set pf=X,Y,Z
  2. for /f "tokens=3 delims=\" %%i in ('find "192.168.14.90" ysp.txt ') do (
  3. for %%a in (%pf%) do (
  4. net use %%a: \\192.168.14.10\%%i
  5. )
  6. )
  7. )
  8. pause
复制代码
这个输出结果为
net use X: \\192.168.14.10\信息部
net use Y: \\192.168.14.10\信息部

net use X: \\192.168.14.10\信息部2
net use Y: \\192.168.14.10\信息部2
我需要的是 循环出单独

net use X: \\192.168.14.10\信息部
net use Y: \\192.168.14.10\信息部2

求指导 ~~~~
作者: went    时间: 2020-1-13 18:17

  1. @echo off
  2. set pf=X,Y,Z
  3. set n=-1
  4. for /f "tokens=3 delims=\" %%i in ('find "192.168.14.90" ysp.txt ') do call :doNet %%i %pf%
  5. pause&exit
  6. :doNet
  7. set /a n+=1
  8. for /l %%i in (1,1,%n%) do shift /2
  9. echo net use %2: \\192.168.14.10\%1
  10. goto :eof
复制代码

作者: went    时间: 2020-1-13 18:18

不知道是不是这种效果
作者: went    时间: 2020-1-13 18:47

  1. @echo off
  2. set pf=X,Y,Z
  3. call :doNet %pf%
  4. pause&exit
  5. :doNet
  6. for /f "tokens=3 delims=\" %%i in ('find "192.168.14.90" ysp.txt ') do call echo net use %%1: \\192.168.14.10\%%i & shift /1
  7. goto :eof
复制代码

作者: Batcher    时间: 2020-1-14 09:09

回复 1# fgh656565


    请把 ysp.txt 完整内容、你希望得到的完整输出结果发出来看看




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