批量转换xml曲谱到abc, 使用xml2abc.exe
先下载xml2abc.exe, 在easyabc官网就有链接。
https://wim.vree.org/svgParse/xml2abc.html
把这个文件放在同一目录下, mxl是压缩的xml曲谱文件,用MuseScore导出的(*.mxl)文件, 可以批量转换成abc了。将下面的代码保存为bat格式的批处理文件, 在这个文件上回车即可将当前文件夹内所有xml曲谱转成abc, 代码如下:
for /r %%i in (*.mxl) do xml2abc.exe --noped "%%i" > %%~ni.abc
回21楼琴韵晓波
我好几年没来这里了。更新一下文件,都打包在一起了。方便大家下载。链接: https://pan.baidu.com/s/1U1DetHDdvUzdGenTvP_2ZA 提取码: jh45 复制这段内容后打开百度网盘手机App,操作更方便哦
这个版本修复了一些错误。方便自己的同时也方便别人。
默认转换成文本文件。如果,想直接转成abc,可以用文本编辑器打开2abc.bat, 删除
ren ".\abc\%%~ni.abc" "%%~ni.txt"
这一行。 xml2abc.exe 的其他命令行选项我暂时还不懂, 只会用--noped
接着我前面的内容继续,
这样转出来的abc, 有些奇怪的符号, 感叹号减号左括号感叹号, 于是我又写了一个vbs脚本, 也是放在同一目录, 把这些奇怪的字符替换掉。可惜不知如何发代码, 复制粘贴在这里就会出错!
回板凳Beli_Bala
感谢lz分享!关于在本站怎么发代码的,请参考下面这篇帖子:
http://szzyyzz.com/forum.php?mod ... =124&extra=page%3D1 for /r %%i in (*.mxl) do xml2abc.exe --noped "%%i" > %%~ni.abc 明白了, 可能vbs代码不能这样发,还是布行,上一条帖子可以, 或者是字数限制, 六百多字符的vbs代码, 就发不了。
回6楼Beli_Bala
记得阿峰以前发过一篇有上万字的代码,要不然你点此给我q临时绘画把代码用记事本发给我,我来试看看。回7楼琴韵晓波
点此给你临时会话出现IIS 8.0 详细错误 - 404.0 - Not Found - Internet Explorer 让我去试看看。 我有本站的q群, 给你发了临时消息,你试试看。回10楼Beli_Bala
估计是代码被拦截了,我刚才电脑都登不上来,哈哈。下面直接提供文件的下载地址:
点此本地下载vbs脚本
回11楼琴韵晓波
可以用记事本打开, 根据自己的需要修改脚本内容, 搜到这行代码:'s=Replace(s,"你要替换的字符","你要替换成的字符")
s=Replace(s,"!-(!","")
s=Replace(s,"!-)!","")
第一行有单引号注释,不会被执行,下面两行才是要替换的字符, 跟着这个格式自行修改。 抱歉, 刚刚发现replace.vbs出现个bug, 请你先删除网站上的文件, 以免赵成用户的麻烦, 这个文件会修改当前目录下的xml2abc.exe 使其不可用, 出现不支持的16位应用程序。对系统没有任何影响,请放心, 我正在修复中。
回11楼琴韵晓波
脚本已经发给你了,请注意查收。回14楼Beli_Bala
今天不在电脑旁,收到你发的文件了,明天再电脑上去上传回14楼Beli_Bala
11楼的下载地址已经替换成你昨天传给我的那个了。回16楼琴韵晓波
谢谢,辛苦了!我发现MuseScore也有命令行参数,可以写多几行代码, 实现一键批量转换任意MuseScore支持的文件到abc了。 可以这样写:for /r %%i in (*.ove *.gtp *.gp3 *.gp4 *.gp5 *.gpx) do MuseScorePortable.exe -o "%%~ni.mxl" "%%i"
把这些代码串联起来。 我暂时还没有网盘, 不方便传上来。 点此打开百度云分享链接
提取码:
xfuy
这是个7z压缩文件,解压后看说明readme.txt。
页:
[1]
2