标题: [文件操作] [已解决]如何用批处理把文本指定内容替换到文本内其它内容? [打印本页]
作者: a574045075 时间: 2024-4-27 21:20 标题: [已解决]如何用批处理把文本指定内容替换到文本内其它内容?
本帖最后由 a574045075 于 2024-4-30 19:49 编辑
有个index.txt文本,我想把<title>Index of /和</title>之间的0-9(注意:这里的值不一定是0-9,是随机的,也会有英文的)替换到alt="[ ]"> <a href="并在后面加入/符号,应该怎么做? 谢谢!
图一
图二
index.txt文本
https://pan.baidu.com/s/1vEqOXhNVQFYZ95NgOhRMXQ?pwd=6666
作者: terse 时间: 2024-4-28 09:04
powershell- <# :
- @echo off
- powershell -noprofile -NoLogo "iex (${%~f0} | out-string)"
- pause
- exit
- #>
- $regex = '<title>Index\s*of\s*/([^<]+)'
- $pan = 'alt=\"\[\s*\]\">\s*<a href=\"'
- $content = [IO.File]::ReadAllText('index.txt ')
- $title = [regex]::matches($content, $regex).Groups[1].Value + '\'
- [regex]::Replace($content,$pan, $title)|Out-File $('new_'+'index.txt ')
复制代码
作者: a574045075 时间: 2024-4-28 11:08
回复 2# terse
运行出现错误.
无法对空数组进行索引。
所在位置 行:10 字符: 52
+ $title = [regex]::matches($content, $regex).Groups[ <<<< 1].Value + '\'
+ CategoryInfo : InvalidOperation: (1:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
使用“3”个参数调用“Replace”时发生异常:“值不能为空。
参数名: evaluator”
所在位置 行:11 字符: 17
+ [regex]::Replace <<<< ($content,$pan, $title)|Out-File $('new_'+'index.txt ')
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
请按任意键继续. . .
作者: terse 时间: 2024-4-28 13:41
回复 3# a574045075
区分一下大小写- <# :
- @echo off
- powershell -noprofile -NoLogo "iex (${%~f0} | out-string)"
- pause
- exit
- #>
- $regex = '(?i)<(title)>index\s*of\s*/([^<]+)</\1>'
- $pan = '(?i)alt=\"\[\s*\]\">\s*<a href=\"'
- $content = [IO.File]::ReadAllText('index.txt ')
- $title = [regex]::matches($content, $regex).Groups[2].Value + '\'
- [IO.File]::WriteAllText('new_index.txt', [regex]::Replace($content,$pan, $title))
复制代码
作者: hfxiang 时间: 2024-4-29 10:36
回复 1# a574045075
第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )的实现方式如下:- gawk "/[ \t]*<title>Index of \/(.+)<\/title>$/{r=gensub(/[ \t]*<title>Index of \/(.+)<\/title>$/,\"\\1/\",\"g\")}/alt=\"\[ \]\"> <a href=\"/{if(r){sub(/(alt=\"\[ \]\"^> ^<a href=\")/,r)}}1" index.txt>out.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |