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

[文本处理] [已解决]批处理怎样查找特殊TXT文件的指定特殊字符后面的字符,并赋予一个变量?

[复制链接]
 楼主| 发表于 2011-9-16 23:17:12 | 显示全部楼层
看到 %%   !!  这些符号不晓得用哪一个,那些小符号 叫人头痛。。
发表于 2011-9-16 23:23:11 | 显示全部楼层
回复 15# jackesy
不好意思,发现楼上代码有误,更正于此:

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('findstr /i "sys\sys_" aa.txt') do (
  3.   set "str=%%i"&set "str=!str:*sys\sys_=!"&set "str=!str:~,5!"
  4.   cd.>!str!.exe&goto :eof
  5. )
复制代码
发表于 2011-9-16 23:25:12 | 显示全部楼层
回复 15# jackesy
代码在for以内设置的变量,for结束后仍然可以对str这个变量进行调用啊。
 楼主| 发表于 2011-9-16 23:26:34 | 显示全部楼层
回复 14# weichenxiehou
  1. @echo off&setlocal enabledelayedexpansion

  2. for /f "skip=2 delims=" %%i in ('find /i "sys\sys_" aa.txt') do (
  3.   set "str=%%i"&set "str=!str:*sys\sys_=!"&set "str=!str:~,5!"
  4.   set NS=!str!&goto :end
  5. )
  6. :end
  7. echo %NS%
  8. goto :eof
复制代码
主要是 find /i "sys\sys_" aa.txt  出来的结果 第一排是---------------- aa.txt    必须跳过前面2排才是 真正查找到的内容  skip=2 ,,好了 解决了。。呵呵 。。。  

看看 还需要 修改的没有。。。。。。。。。。

感谢指导。。。。。。。。。。。。。
发表于 2011-9-16 23:30:29 | 显示全部楼层
回复 19# jackesy
能找到别人代码的问题,就已经进步了,继续加油吧,不断学习。
 楼主| 发表于 2011-9-18 20:50:40 | 显示全部楼层
回复 17# weichenxiehou


    为什么你改成 findstr 后 反而什么字符串都找不到。。。。

    find /i "sys\sys_" aa.txt             这个可以找到很多包含sys\sys_的行      
    findstr /i "sys\sys_" aa.txt         这个却什么也找不到,很奇怪。。。

    他们有这么大的区别么。。。。。。。。。
发表于 2011-9-18 21:41:18 | 显示全部楼层
回复 21# jackesy


我这里4种写法都行
  1. findstr /i "sys\sys_" a.txt
  2. findstr /i "sys\\sys_" a.txt
  3. findstr /i /c:"sys\sys_" a.txt
  4. findstr /i /l "sys\sys_" a.txt
复制代码
发表于 2011-9-18 21:48:33 | 显示全部楼层
回复 1# jackesy
  1. gawk "/SYS\\SYS_/{gsub(/.*SYS\\SYS_/,"");gsub(/\\.*/,""); print >$0".txt"}" a.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-9-19 13:35:29 | 显示全部楼层
回复 22# awk


    你不信可以自己把一楼的代码存为A.TXT 试试,我执行后什么都没有找到。。不管是直接输出还是保存到另外一个文件都一样。。
发表于 2011-9-19 21:20:24 | 显示全部楼层
回复 24# jackesy


22楼发帖之前已经测试过了,可能是我们的操作系统不一样吧。
 楼主| 发表于 2011-9-20 13:30:47 | 显示全部楼层
回复 25# awk


    XP 系统不能用  findstr 么。。奇怪 我都能看到它 的  findstr /? 帮助呢。。。
发表于 2011-10-4 21:55:38 | 显示全部楼层
  1. gawk "/SYS\\SYS_/{s=index($0,"SYS\\SYS_")+8;print substr($0,s,5)}" a.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 05:46 , Processed in 0.056151 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表