我正在尝试解组一系列名为的视频文件:
Something or Other.s1e1.mp4
Another title.s1e2.mp4
...
Yet More Titles.s1e87.mp4
等等。我想要做的是删除文件名的“s1eNUM”部分并将其恢复正常,这样我就会得到“Something or Other.mp4”和“Yet More Titles.mp4”等等。
可以使用Windows命令行,使用ren和批处理文件吗?或者我需要特殊软件吗?谢谢!
答案 0 :(得分:0)
使用for命令。
@echo off
set YourFileName=title.s1e2.mp4
for /f "tokens=1 delims=." %%x in ("%YourFileName%") do (set filename1=%%x)
for /f "tokens=3 delims=." %%x in ("%YourFileName%") do (set filename2=%%x)
echo %filename1%.%filename2%
rename C:\PATH\%YourFileName% %filename1%.%filename2%
pause>nul
这应该删除" s1eNum"在中间,然后在最后组合文件名和扩展名。
答案 1 :(得分:0)
我将发明一个术语,并说节点是点之前,之后或之间的任何文本。所以" Other.s1e1.mp4"将有3个节点,最后一个是文件扩展名。
如果你知道你的.mp4文件都没有超过3个节点,那么你需要的只是一个简单的REN命令。
请参阅How does the Windows RENAME command interpret wildcards,了解其工作原理。请注意,您必须具有足够的?
个字符才能匹配或超过找到的最大节点1的长度。
ren *.*.mp4 ?????????????????????????????????????????.mp4
如果您的文件可能包含3个以上的节点,并且您想删除倒数第二个(倒数第二个)节点,则可以使用2个嵌套循环:
for /f "eol=: delims=" %%A in ('dir /b /a-d *.*.mp4') do for %%B in ("%%~nA") do ren "%%B" "%%~nA.mp4"