[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&set/ps=<a.txt
  2. :g
  3. (for /f "tokens=1-4* delims='" %%a in ("%s%") do (if "%%b"=="" exit)&echo /Ref:abc /Rename:%%b %%d>>b.txt&set s=%%e)&goto g
复制代码
俺是随风大大的跟屁虫~

TOP

原帖由 随风 于 2009-10-13 19:51 发表
你是说一行内容输出不确定多少行?
另:没必要大人大人的,在这里人人平等。。。

是的,就是这意思^^

不用过度解读我的语意,或者只是轻松的称谓@@

大概就像有人看到老朋友,称呼是大哥一样

我是单纯表达感谢和敬意,没有贬低或抬高谁的意涵

TOP

:
  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3.    set "str=%%a"
  4.    setlocal enabledelayedexpansion
  5.    set "str=!str:)="!"
  6.    set "str=!str:(="!"
  7.    for %%I in (!str!) do (
  8.       for /f "tokens=2,4 delims='" %%i in ("%%I") do (
  9.          echo /Ref:abc /Rename:%%~i %%j
  10.       )
  11.    )
  12.    endlocal
  13. ))>c.txt
  14. start c.txt
复制代码
技术问题请到论坛发帖求助!

TOP

原帖由 Seter 于 2009-10-13 19:56 发表
@echo off&set/ps=>b.txt&set s=%%e)&goto g俺是随风大大的跟屁虫~

哇~~太感謝Seter

解決了~~還有版主也謝謝

我只能說~~~這世界上還是很多無私的好人的0.0

TOP

原帖由 随风 于 2009-10-13 20:00 发表
echo off
(for /f "delims=" %%a in (a.txt) do (
   set "str=%%a"
   setlocal enabledelayedexpansion
   set "str=!str="!"
   set "str=!str="!"
   for %%I in (!str!) do (
      for /f "token ...

版主大人@@

請問一下處理幾行文本還可以

但是一旦處理多的話

c.txt輸出就會變成空白

我上傳樣本給您試試

感謝

TOP

回复 20楼 的帖子

应该一开始就上传样本。如果都像你这样,帮你的人非得累死。

TOP

原帖由 asnahu 于 2009-10-13 21:04 发表
应该一开始就上传样本。如果都像你这样,帮你的人非得累死。

我是擔心我的樣本文字太多,會讓大家看的眼花寮亂@@

所以先用幾行文字作樣本,看起來不會太吃力

抱歉喔

[ 本帖最后由 leo1984 于 2009-10-13 21:16 编辑 ]

TOP

回复 22楼 的帖子

没必要跟我说抱歉,应该向斑竹道歉才是。

TOP

我的那个有限制的!
具体限制多少我忘记了[我记得是1024个字符,但是测试发现我的那小批处理居然可以承受1W+字节的文件]
所以...大大们加油!支持AN&随风!

TOP

回复 20楼 的帖子

  1. sed "s/; /\n/g" a.txt | sed "s/.*[0-9],'\(.*part...\.rar\.jpg\)','\(.*\.jpg\)../\/Ref\:abc \/Rename\:\1 \2/g">b.txt
复制代码
第三方命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Batcher 于 2009-10-13 21:49 发表
sed "s/; /\n/g" a.txt | sed "s/.*[0-9],'\(.*part...\.rar\.jpg\)','\(.*\.jpg\)../\/Ref\:abc \/Rename\:\1 \2/g">b.txt第三方命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html


這裡最優秀的就是版主和管理員都大方的出來幫忙

真是太感人了... ... 我要哭了我...

問題解決了><

感謝各位幫忙

TOP

可以顺便请教一下
文本内可以顺便处理一下
找到

  1. http://photo.xuite.net/_my/b_5');
复制代码


包括http://photo.xuite.net/_my/b_5'); 及前面的文字通通删去

再找到
  1. </script><tr>
复制代码


包括</script><tr>及后面的文字通通删去吗?
这样可以方便处理
不了解的我一样上传样本
感谢

TOP

回复 27楼 的帖子

不知是否编码问题,第二个文本始终得不到正确结果,VBS也歇菜了。以下代码针对第一个文本:
  1. Dim objFSO,objRegEx
  2. Const ForReading = 1
  3. sFile = "a.txt"
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. Set oFile = objFSO.OpenTextFile(sFile,  1, TristateTrue)
  6. colLines = oFile.ReadAll
  7. oFile.Close
  8. Set objRegEx = CreateObject("VBScript.RegExp")
  9. objRegEx.Global = True
  10. objRegEx.IgnoreCase = True
  11. objRegEx.Pattern = "MY_THUMB.*jpg"
  12. Set Matches = objRegEx.Execute(colLines)
  13. For Each objMatch in Matches
  14.      aryLines = aryLines & objMatch & vbCrLf
  15. Next
  16. aryLines = Split(aryLines, ";")
  17. For i = 0 To Ubound(aryLines) - 1
  18.     var_1 = Replace(Replace(Split(aryLines(i), ",")(1),".jpg", ""),"'", "")
  19.     var_2 = Replace(Replace(Split(aryLines(i), ",")(2),"'",""), ")", "")
  20.     strLine = "/Ref:abc /Rename:" & var_1 & " " & var_2 & vbCrLf
  21.     strLines = strLines & strLine & vbCrLf
  22. Next
  23. Wscript.Echo strLines
  24. Set objFSO   = Nothing
  25. Set objRegEx = Nothing
复制代码

[ 本帖最后由 asnahu 于 2009-10-14 18:01 编辑 ]

TOP

原帖由 asnahu 于 2009-10-14 08:52 发表
不知是否编码问题,第二个文本始终得不到正确结果,VBS也歇菜了。以下代码针对第一个文本:

Dim objFSO,objRegEx
Const ForReading = 1
sFile = "a.txt"

Dim objFSO,oFile,colLines
Set objFSO = CreateObj ...

非常謝謝你

現在的問題出在第二文本@@

不過也見識到這命令這麼多元的寫法

TOP

还是正则来得快点,VBS:

  1. Dim objFSO, objFile, colLines
  2. Dim objRegEx, objMatches, objMatch, aryMatches
  3. Const ForReading   = 1
  4. Const TristateTrue = -1
  5. sFile = "a.txt"
  6. Set objFSO = CreateObject("Scripting.FileSystemObject")
  7. Set objFile = objFSO.OpenTextFile(sFile,1, false, -1)
  8. colLines = objFile.ReadAll
  9. objFile.Close
  10. Set objRegEx = CreateObject("VBScript.RegExp")
  11. objRegEx.Global = True
  12. objRegEx.IgnoreCase = True
  13. objRegEx.Pattern = "(復仇之戰\.[a-z]*[0-9]*\.[a-z]*\.[a-z]+)[^a-zA-z]*(\w+:\/\/\d\.\w+\.\w+\.\w+\/\d\/\d\/\w\/\d\/\w*\d*\/\d*\/\w\/\d*\.\w{3})"
  14. Set objMatches = objRegEx.Execute(colLines)
  15. For Each objMatch in objMatches
  16.         objMatch = Replace(objMatch, ".jpg','", " ")
  17.         objMatch = "/Ref:abc /Rename:" & objMatch
  18.         aryMatches = aryMatches & objMatch & vbCrLf
  19. Next
  20. Wscript.Echo aryMatches
  21. Set objFSO   = Nothing
  22. Set objRegEx = Nothing
复制代码



[ 本帖最后由 asnahu 于 2009-10-14 21:44 编辑 ]

TOP

返回列表