1.

Solve : Rename files from a string in random places from a text file?

Answer»

I am trying to rename a bunch of .m3u files based on the text between ", and (s. The text might contain characters INCLUDING Code: [Select]& (random text) . : ! | -
So I need to remove the colon and the pipe. There is also white space before and after that I'd like to remove.

Here are two examples

in channel1.m3u

Code: [Select]#EXTINF:-1 group-title="Documenteries" logo="/img/icon.png",: Animal Planet   (s-6)
http://*********.m3u8
in channel2.m3u

Code: [Select]#EXTINF:-1 group-title="Misc" logo="/img/icon.gif", PAC-12 Net. (Bay Area) 1080P   (s-8)
    http://*********.m3u8
Here is the batch FILE I have so far

Code: [Select]echo off
cd Renamed_Files
for /f "delims=" %%i in ('dir /a-d/b *.m3u') do (
   set "NNAME="
   set "fname=%%~i"
   for /f "tokens=* delims=,(" %%f in ("%%~i") do if not defined nname set "nname=%%f"
   setlocal enabledelayedexpansion

   echo rename "!fname!" "!nname!.m3u"
   endlocal
)
pause
This gives me everything before the comma. If I change delims=,( to delims=( it gives me everything up to the Bracket, so I get the text I'm after, but I get all the text before it as WELL. The characters before the text I want are always ", and the characters after are always (s- if that helps.

This could be either a batch file or vbscript. Any help would be greatly appreciated.



Discussion

No Comment Found