标题: [文本处理] [已解决]BAT如何批量提取特定字符+后面40个字母TXT的内容? [打印本页]
作者: xp3000 时间: 2013-4-25 20:21 标题: [已解决]BAT如何批量提取特定字符+后面40个字母TXT的内容?
TXT内容:
magnet:?xt=urn:btih:880971CB89EB4FC7527EC037D2898218DBCFF40E 南洋十大邪术.torrent
magnet:?xt=urn:btih:B34C918A941BBA522DE38C25FA84EEA7FB99E7A2 偶遇.torrent
magnet:?xt=urn:btih:5CF13FA5E00CF85151D4CA7C9E6CBA67D7B12E59 武松.torrent
等等有数百行,需要保留每行的前面60个字母,删除空格到t中间的所有内容,要怎么写?
要么复制每行的前面60个字符,要么删除删除空格后面的,两种都要
追加问题 :TXT内容:
1:magnet:?xt=urn:btih:0d3141885750f5382248fc8a8d973dda5deed050&dn=Ka2&tr=http://inferno.demonoid.com:3392/announce
电影2特征码:B6A0DFCBC8BE251025B6578A952E489792B1DF54 [香港电影-整容]
3-电影[花漾]magnet:?xt=urn:btih:3AF2DCAFCCE7D6D964A6C6CF5142F9C1042BA1A9
4.电影男儿无罪BT特征值:33DBF672E0618D83A6F28299F43B7D50DE5A5E7B
TXT文本需要拖动到BAT里面自动完成获取并且替换,主要是提取magnet:?xt=urn:btih:和后面的40个字
获取特征码:后面的40个字并且在前面加上magnet:?xt=urn:btih:
主要是为了获取杂乱文本中的磁力链,完成后效果:
magnet:?xt=urn:btih:0d3141885750f5382248fc8a8d973dda5deed050
magnet:?xt=urn:btih:B6A0DFCBC8BE251025B6578A952E489792B1DF54
magnet:?xt=urn:btih:3AF2DCAFCCE7D6D964A6C6CF5142F9C1042BA1A9
magnet:?xt=urn:btih:33DBF672E0618D83A6F28299F43B7D50DE5A5E7B
作者: xxpinqz 时间: 2013-4-25 21:18
- @echo off
- (for /f "delims= " %%a in (a.txt) do echo %%a)>b.txt
复制代码
作者: skynjupt 时间: 2013-4-25 21:30
- @echo off
- chcp 936>nul
-
- :: out_1.txt保存种子地址,out_2.txt保存种子名字
- cd.>out_1.txt
- cd.>out_2.txt
-
- for /f "tokens=1-2 delims= " %%i in (a.txt) do (
- echo %%i>>out_1.txt
- echo %%j>>out_2.txt
- )
- echo 处理完毕,按任意键结束...
- pause>nul&exit
复制代码
作者: yoyobye 时间: 2013-4-25 21:40
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (1.txt) do (
- set s=%%i
- echo !s:~,59!
- )
复制代码
作者: xp3000 时间: 2013-4-25 21:56
本帖最后由 xp3000 于 2013-4-25 22:40 编辑
二楼直接删除了不需要的部分,
三楼拆分了后面不需要的,把文本分开
四楼的我不会弄
修改后,原来的已经不需要了,把文本拖进去,直接修改替换原来文本的BAT怎么弄?
作者: BAT-VBS 时间: 2013-4-25 22:48
回复 5# xp3000
在2楼基础上加一句就行了- @echo off
- (for /f "delims= " %%a in (a.txt) do echo %%a)>b.txt
- move /y b.txt a.txt
复制代码
“拖进去”是一种很不好的习惯,尽量避免。
作者: xp3000 时间: 2013-4-25 23:16
回复 6# BAT-VBS
哦,文本可能是任意文件名,所以想拖进去
作者: terse 时间: 2013-4-26 01:10
- @echo off
- (for /f "usebackq" %%i in ("%~1") do echo %%i)>$
- move $ %1
- pause
复制代码
作者: xp3000 时间: 2013-4-27 13:41
terse 发表于 2013-4-26 01:10
追问第2个的方法怎么处理?
作者: terse 时间: 2013-4-27 14:23
回复 9# xp3000
特征码 暂不明显 处理很难 即便能处理 也是针对性的 不通用
作者: terse 时间: 2013-4-27 14:34
追问第2个的方法怎么处理?
xp3000 发表于 2013-4-27 13:41
- @echo off&setlocal enabledelayedexpansion
- set "s=urn:btih"
- (for /f "usebackq delims=" %%i in ("%~1") do (
- set "str=%%i"
- for /f "tokens=1* delims=:" %%a in ("!str:*%s%=$!") do (
- set "str=%%b"
- echo !str:~,40!
- )
- ))>$
- move $ %1
- pause
复制代码
作者: xp3000 时间: 2013-4-27 15:15
terse 发表于 2013-4-27 14:34
谢谢帮助,这个好像没把magnet:?xt=urn:btih:提取到里面去,
磁力链需要magnet:?xt=urn:btih: 加 特征码 才能在下载工具批量下载
作者: terse 时间: 2013-4-27 17:10
回复 12# xp3000
嗯 这个你自己加一下吧
作者: xp3000 时间: 2013-4-28 07:59
回复 xp3000
嗯 这个你自己加一下吧
terse 发表于 2013-4-27 17:10
- @echo off&setlocal enabledelayedexpansion
- set "s=urn:btih"
- (for /f "usebackq delims=" %%i in ("%~1") do (
- set "str=%%i"
- for /f "tokens=1* delims=:" %%a in ("!str:*%s%=$!") do (
- set "str=%%b"
- echo ^magnet:?xt=urn:btih:!^!str:~,40!^
- )
- ))>$
- move $ %1
复制代码
非常感谢,不过文本后面出现了4个空格
作者: terse 时间: 2013-4-28 10:15
- echo magnet:?xt=urn:btih:!str:~,40!
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |