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

[文本处理] 【已解决】请问批处理如何提取双引号之间的内容?

如图:请问如何提取双引号之间的内容???
并一个个的建立列表???
注意:双引号之间必须带有 \  字符的才能提取,因为这是文件路径,
我要提取文本内指定的这些文件。。。
原图:

处理后的列表(当然,自己手动处理的)

------------------------------------
注意:双引号之间必须带有 \  字符的才能提取,
谢谢大神。
祝所有人做个美梦。。

本帖最后由 flyinnet9 于 2015-12-29 14:21 编辑
  1. @echo off
  2. (for /f "tokens=2 delims=[]" %%a in ('findstr "[\\][\\]" b.txt') do echo.%%~a)>c.txt
  3. pause
复制代码
1

评分人数

TOP

回复 2# flyinnet9


再来个简单的,大神帮我下
原图

------------------------------------
将所有双引号之间的内容提取出来
复制到一个新文档里面。。
注意:双引号之间必须带有 \ 字符。。。
谢谢了。。。

TOP

回复 2# flyinnet9
  1. @echo off
  2. for /f "tokens=2 delims=[]" %%a in ('findstr "[\\][\\]" b.txt') do echo.%%~a >>c.txt
  3. echo 完成 &pause
复制代码
我把你的加了一个输出文件,为什么没用???

TOP

回复 4# 172788876


    2楼已改
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. for /f "tokens=2* delims=: " %%a in (a.txt) do (
  4.   set p=&set m=
  5.   if "%%a"=="IMAGEPICTURE" for %%c in (%%b) do set p=%%~c
  6.   if "%%a"=="DIALOG" for /f "usebackq tokens=9" %%c in ('%%b') do set p=%%~c
  7.   if "%%a"=="STILLIMAGEBUTTON" for /f "usebackq tokens=18,19" %%c in ('%%b') do set p=%%~c&set m=%%~d
  8.   if "%%a"=="SLIDER" for /f "usebackq tokens=8,9" %%c in ('%%b') do set p=%%~c&set m=%%~d
  9.   echo.!p! !m! >>result.txt
  10. )
复制代码
1

评分人数

    • 172788876: 很敬业的程序猿,大谢!技术 + 1

TOP

回复 5# flyinnet9


    真的好了,太感谢了。。。

TOP

本帖最后由 pcl_test 于 2015-12-29 16:18 编辑

水一发
  1. //&cls&cscript -nologo -e:jscript "%~f0"<"a.txt"&pause&exit
  2. var txt='',str = WScript.StdIn.ReadAll().match(/"[^"\r\n]*?\\[^"\r\n]+?\.[a-z0-9]+"/ig);
  3. for(var i=0;i<str.length;i++)txt+=str[i].slice(1,-1)+'\r\n';WSH.echo(txt);
复制代码

TOP

回复 7# pcl_test


   嘿嘿,版主,你的代码要少很多嘿。。。

TOP

回复 8# 172788876


    乐于助人,我没分了,真的没分了

TOP

回复 7# pcl_test


    版本,那俺再给你稍微加点难度,把提取出来的内容去重,去掉重复的。。。。

TOP

回复 11# 172788876


   能不能 帮我添加个输出到txt文版,并且能够自定义文本名的??
从我进论坛开始,你帮了我好多,
大谢,

TOP

回复 8# 172788876


    果然是老手。。

TOP

嘿嘿,怎么就没人理我了???

TOP

回复 14# 172788876


    你需要点击7楼左下角的那个“回复”,否则别人看不到提示信息。

TOP

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (
  3.     for %%j in (%%i) do (
  4.         if "%%~j"==%%j if not "%%~nxj"=="%%~j" if not defined _%%~j echo %%~j&set _%%~j=a
  5.     )
  6. )
  7. pause
复制代码

TOP

返回列表