批处理命令提取文本中某段字符串中间的文字到另一个文件名
文件夹格式如下,要提取entry.json(这个可以用记事本打开)中的"title":"和","total_bytes"中间的文本到同文件夹中MP4扩展名文件的文件名,e...
文件夹格式如下,要提取entry.json(这个可以用记事本打开)中的"title":"和","total_bytes"中间的文本到 同文件夹中MP4扩展名文件的文件名,entry.json文件名是固定的,但是MP4文件的文件名不固定。
http://pan.baidu.com/s/1kUIjfQB,这个是样板。测试用 展开
http://pan.baidu.com/s/1kUIjfQB,这个是样板。测试用 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
>$rename.js more +16 "%~f0"
::无误及时采纳回答
::如果文件夹中有entry.json文件则重命名同文件夹里的mp4文件
for /f "delims=" %%a in ('dir /a-d/b/s "entry.json"') do (
if exist "%%~dpa*.jpg" (
for /f "delims=" %%b in ('cscript -nologo -e:jscript $rename.js "%%a"') do set "newname=%%b"
if "!newname!" neq "0" (
if not exist "!newname!.jpg" (
ren "%%~dpa*.jpg" "!newname!.jpg" 2>nul
)
)
)
)
del $rename.js
pause&exit
var fso=new ActiveXObject('Scripting.FileSystemObject'),s='';
var f=fso.OpenTextFile(WSH.Arguments(0),1);
var m=f.ReadAll().match(/"title":"[^"]+"|"total_bytes":"[^"]+"/g);
if(m){
for(var i=0;i<m.length;i++)
s+=m[i].replace(/.+"([^"]+)"$/,'$1');
WSH.echo(s?s:0);
}else WSH.echo(0);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询