Beli_Bala 发表于 2018-10-30 17:41:28

批量转换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

Beli_Bala 发表于 2021-3-28 14:16:43

回21楼琴韵晓波

我好几年没来这里了。更新一下文件,都打包在一起了。方便大家下载。
链接: https://pan.baidu.com/s/1U1DetHDdvUzdGenTvP_2ZA 提取码: jh45 复制这段内容后打开百度网盘手机App,操作更方便哦

Beli_Bala 发表于 2021-3-28 14:27:59

这个版本修复了一些错误。方便自己的同时也方便别人。
默认转换成文本文件。如果,想直接转成abc,可以用文本编辑器打开2abc.bat, 删除
ren ".\abc\%%~ni.abc" "%%~ni.txt"
这一行。

Beli_Bala 发表于 2018-10-30 17:48:19

xml2abc.exe 的其他命令行选项我暂时还不懂, 只会用--noped

Beli_Bala 发表于 2018-10-30 18:41:08

接着我前面的内容继续,
这样转出来的abc, 有些奇怪的符号, 感叹号减号左括号感叹号, 于是我又写了一个vbs脚本, 也是放在同一目录, 把这些奇怪的字符替换掉。可惜不知如何发代码, 复制粘贴在这里就会出错!

琴韵晓波 发表于 2018-10-31 10:00:07

回板凳Beli_Bala

感谢lz分享!
关于在本站怎么发代码的,请参考下面这篇帖子:
http://szzyyzz.com/forum.php?mod ... =124&extra=page%3D1

Beli_Bala 发表于 2018-10-31 11:44:22

for /r %%i in (*.mxl) do xml2abc.exe --noped "%%i" > %%~ni.abc

Beli_Bala 发表于 2018-10-31 11:56:25

明白了, 可能vbs代码不能这样发,还是布行,上一条帖子可以, 或者是字数限制, 六百多字符的vbs代码, 就发不了。

琴韵晓波 发表于 2018-10-31 13:12:43

回6楼Beli_Bala

记得阿峰以前发过一篇有上万字的代码,要不然你点此给我q临时绘画把代码用记事本发给我,我来试看看。

Beli_Bala 发表于 2018-10-31 14:02:08

回7楼琴韵晓波

点此给你临时会话出现IIS 8.0 详细错误 - 404.0 - Not Found - Internet Explorer

琴韵晓波 发表于 2018-10-31 14:09:35

让我去试看看。

Beli_Bala 发表于 2018-10-31 14:09:40

我有本站的q群, 给你发了临时消息,你试试看。

琴韵晓波 发表于 2018-10-31 15:20:39

回10楼Beli_Bala

估计是代码被拦截了,我刚才电脑都登不上来,哈哈。
下面直接提供文件的下载地址:
点此本地下载vbs脚本

Beli_Bala 发表于 2018-11-1 11:22:48

回11楼琴韵晓波

可以用记事本打开, 根据自己的需要修改脚本内容, 搜到这行代码:
's=Replace(s,"你要替换的字符","你要替换成的字符")
s=Replace(s,"!-(!","")
s=Replace(s,"!-)!","")
第一行有单引号注释,不会被执行,下面两行才是要替换的字符, 跟着这个格式自行修改。

Beli_Bala 发表于 2018-11-2 12:55:26

抱歉, 刚刚发现replace.vbs出现个bug, 请你先删除网站上的文件, 以免赵成用户的麻烦, 这个文件会修改当前目录下的xml2abc.exe 使其不可用, 出现不支持的16位应用程序。对系统没有任何影响,请放心, 我正在修复中。

Beli_Bala 发表于 2018-11-2 18:55:42

回11楼琴韵晓波

脚本已经发给你了,请注意查收。

琴韵晓波 发表于 2018-11-2 22:06:41

回14楼Beli_Bala

今天不在电脑旁,收到你发的文件了,明天再电脑上去上传

琴韵晓波 发表于 2018-11-3 08:53:12

回14楼Beli_Bala

11楼的下载地址已经替换成你昨天传给我的那个了。

Beli_Bala 发表于 2018-11-3 17:46:30

回16楼琴韵晓波

谢谢,辛苦了!我发现MuseScore也有命令行参数,可以写多几行代码, 实现一键批量转换任意MuseScore支持的文件到abc了。

Beli_Bala 发表于 2018-11-3 17:59:50

可以这样写:
for /r %%i in (*.ove *.gtp *.gp3 *.gp4 *.gp5 *.gpx) do MuseScorePortable.exe -o "%%~ni.mxl" "%%i"
把这些代码串联起来。

Beli_Bala 发表于 2018-11-3 18:02:33

我暂时还没有网盘, 不方便传上来。

Beli_Bala 发表于 2018-11-3 19:44:54

点此打开百度云分享链接
提取码:
xfuy
这是个7z压缩文件,解压后看说明readme.txt。
页: [1] 2
查看完整版本: 批量转换xml曲谱到abc, 使用xml2abc.exe