[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 taofan712 于 2017-3-1 23:25 编辑
  1. @echo off
  2. set /p usery=手动输入user关键字(如user712)
  3. findstr /n .* a.ini>temp.ini
  4. for /f "tokens=1* delims=:" %%a in ('findstr /i "username" temp.ini^|findstr user[0-9]') do (
  5. set /a tn=%%a
  6. for %%i in (%%b) do (
  7. call set userx=%%str%%
  8. set str=%%i
  9. )
  10. )
  11. setlocal enabledelayedexpansion
  12. for /f "tokens=1* delims=:" %%i in (temp.ini) do (
  13. set /a ln=%%i
  14. set line=%%j
  15. if !ln! equ !tn! (
  16. echo;!line:%userx%=%usery%!
  17. ) else (
  18. echo;!line!
  19. )
  20. )>>newa.ini
  21. del /f /q temp.ini
复制代码
新人练手,请求加分鼓励
1

评分人数

TOP

回复 7# ygqiang
不跳过空行,论坛已经有很多帖子在用findstr的方法。
这个题我个人觉得难度在于如何获取user231。

TOP

回复 9# ygqiang


   是我 疏忽了,我是分成的两个bat在写,边写边测试,最后合起来的时候没检查仔细。del确实应该放最后。。。
出现双倍空行,是因为第二段代码里面用的是temp.ini,里面不必判断空行,所以应该把if = “” 去掉。
已经在6楼改正。

TOP

返回列表