批处理 取指定字符串之间的内容

1.txt文本内容
<td style='font-size: 9pt;'>Country: </td><td style='font-size: 9pt;'>FRANCE</td> </tr><tr><td style='font-size: 9pt;'>Region: </td><td style='font-size: 9pt;'>PROVENCE-ALPES-COTE D'AZUR</td> </tr><tr><td style='font-size: 9pt;'>City: </td><td style='font-size: 9pt;'>VALBONNE</td>
我要去的内容为
FRANCE

PROVENCE-ALPES-COTE D'AZUR

VALBONNE

也就是Country: </td><td style='font-size: 9pt;'> 和 </td>之间
Region: </td><td style='font-size: 9pt;'> 和 </td>之间
City: </td><td style='font-size: 9pt;'> 和 </td>之间 的内容

请问批处理该怎么写?

第1个回答  2015-05-22
set语句中“:~”截取字符串的原理(形式为“%n:~a,b%”"或"“%n:~a%”)
下面是以变量%n%=1234567890为例进行测试
注明:以下凡说到a小於(<)0或b小於(<)0,即a和b取负值时,只是表示倒数第几个字符,所以凡是涉及到a与b比较大小的时候都是以它们的绝对值作比较的。
项目 条件及赋值 执行结果显示
01 当a>0、b>0且a>b时(6,2) 78
02 当a>0、b>0且a<b时(3,5) 45678
03 当a>0、b>0且a=b时(2,2) 34
04 当a>0且b=0时(2,0)
05 当a>0且b<0时(2,-5) 345

06 当a=0且b>0时(0,5) 12345
07 当a=0且b=0时(0,0)
08 当a=0且b<0时(0,-3) 1234567

09 当a<0且b>0时(-6,2) 56
10 当a<0、b<0且a>b时(-8,-3) 34567
11 当a<0、b<0且a<b时(-2,-5)
12 当a<0、b<0且a=b时(-4,-4)
13 当a<0且b=0时(-4,0)

14 当只存在a且a>0时(3) 4567890
15 当只存在a且a=0时(0) 1234567890
16 当只存在a且a<0时(-3) 890

最後总结:
① 当a大於或等於0,b大於0时,显示第a个字符之後的b个字符;
② 当a大於或等於0,b小於0时,显示第a个字符至倒数第b个字符之间的字符;
③ 当a小於0,b大於0时,显示倒数第a个字符及其之后的(b-1)个字符;
④ 当a小於0,b小於0时,显示倒数第(a-1)个字符至倒数第b个字符之间的字符(必须要满足a大於b);
⑤ 无论a为何值时b不能为0;
⑥ 当只存在一个数值且该数值大於或等於0时,显示第该个字符之後的所有字符;
⑦ 当只存在一个数值且该数值小於0时,显示倒数第该个字符及其之後的所有字符。

就不写代码了,看到这个总结,你应该会写代码了~·~追问

完全没看明白,请来个例子吧,大神。非常感谢。

追答

修改了一下,你再看看,举一个例子吧
对于“① 当a大於或等於0,b大於0时,显示第a个字符之後的b个字符”
例如 %n%=1234567890,%n:~6,2%=78,意思是截取变量扩展%a%的第六个字符之后的两个字符,因%a%第六个字符为6,那么%n:~6,2%就等于78了,其他几个例子都可以这样去理解,只是截取方法有所区别。

追问

真没明白你的意思,我只想截取出这三个值,格式是固定的,但是值得位数不固定。

追答

你是说要被保留的和要被忽略的字符的位数都不固定吗

追问

保留的不固定,除了要保留的,其他都清除。要被忽略的位数基本是固定的。

追答

那用这句吧
@for /f "delims=>1.txt

本回答被网友采纳
相似回答