0

也许有人可以帮助我......我有一个这样的列表(也包含西里尔字母)(channels.txt):

#EXTINF:-1,5 канал Россия
http://95.189.57.162:1234/udp/233.7.70.6:5000
#EXTINF:-0,ТВ3
http://95.189.57.161:1234/udp/233.7.70.7:5000
#EXTINF:-1,ТНТ
rtmp://95.189.54.166:1234/udp/233.7.70.8:5000
#EXTINF:-2,Disney Channel
mms://95.189.52.146:1234/udp/233.7.70.9:5000
#EXTINF:-1,49 Канал
http://95.189.51.163:1234/udp/233.7.70.11:5000

以#EXTINF: 开头的行给出了电视频道的名称。渠道是:

  • 5 канал Россия
  • ТВ3
  • ТНТ
  • 迪士尼频道
  • 49 Канал

下一行是该频道的链接。

哪个命令或批处理脚本可以为列表的每个通道创建一个 txt 文件并放入相应的链接中?对于这个例子:

  • 5 канал Россия.txt -->http://95.189.57.162:1234/udp/233.7.70.6:5000
  • ТВ3.txt -->http://95.189.57.161:1234/udp/233.7.70.7:5000
  • ТНТ.txt -->rtmp://95.189.54.166:1234/udp/233.7.70.8:5000
  • 迪士尼频道.txt -->mms://95.189.52.146:1234/udp/233.7.70.9:5000
  • 49 Канал.txt -->http://95.189.51.163:1234/udp/233.7.70.11:5000

我真的很感激任何帮助!非常感谢!

4

1 回答 1

4

试试这个:

@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=2 delims=:" %%a IN ('chcp') DO SET /a CurrentCodePage=%%a 2>nul
CHCP 1251 >nul
FOR /f "tokens=1*delims=," %%a IN ('type file.txt') DO (
    SET "link=%%a"
    SET "channel=%%b"
    IF DEFINED channel (SET "fname=!channel!"
    ) ELSE (ECHO !link!)>"!fname!.txt"
)
CHCP %currentCodePage% >nul

dir输出带有代码页 850:

06/29/2013 08:38 AM 48 49 ???.txt
2013 年 6 月 29 日上午 08:38 47 5 ????? ??????。文本文件
2013 年 6 月 29 日上午 08:38 46 迪斯尼频道.txt
06/29/2013 08:38 AM 47 ??3.txt
06/29/2013 08:38 AM 47 ???.txt

dir输出带有代码页 1251:

06/29/2013 08:38 AM 48 49 Канал.txt
06/29/2013 08:38 AM 47 5 канал Россия.txt
2013 年 6 月 29 日上午 08:38 46 迪斯尼频道.txt
06/29/2013 08:38 AM 47ТВ3.txt
06/29/2013 08:38 AM 47 ТНТ.txt

有关 cmd 和代码页的更多信息,请单击此处

于 2013-06-28T22:46:36.450 回答