从移动硬盘启动的XBMC的媒体库管理

最近博主入了一个移动硬盘啊,五百现钞,1T容量,感觉还不错,为了防止有打广告的嫌疑就不细说了。硬盘到手,折腾之魂又爆发了。

XBMC恐怕是现在还在持续更新的开源媒体中心软件的独苗了,实话说它也堪当大任,各种插件脚本助力,还有好几套不同风格但是同样华丽的主题,基本上可以满足所有与“媒体”相关的管理、欣赏需求。当然,除了存储。说到底XBMC也还得依赖文件系统工作,虽说各种本地的文件系统都有很好的支持,甚至SMB,等等远端文件系统的对接也都不在话下,但是当我试图将XBMC限定在一块移动硬盘上工作时,还是出现了一点小小的问题。

XBMC添加资源目录是不支持相对路径的。

也就是说,资源的路径依赖于移动硬盘的盘符,很显然,没有办法保证移动硬盘永远占据一个盘符。这样的话只要换一台电脑,所有之前添加进XBMC的资料就全部无法访问了。貌似这个问题好几年前就有人提出来了,可惜官方一直没能解决,这个时候就只能依赖劳动人民亲自动手了。

事先说明一下,下面介绍的方法其实也不是我原创的,XBMC的官方论坛上早已有这样的方案,不过百度似乎没能给出什么相关的中文资料,所以我就献丑了(虽然这个博客百度估计都索引不到。。。)

首先,xbmc可以以“便携”或者说“绿色”模式启动,只需要在运行xbmc.exe时加上 “-p” 参数,这样的话所有的数据就都会被保存在安装目录下的“portable_data”文件夹下。你可以新建一个快捷方式来制定使用这个模式启动XBMC,当然,是用命令行工具也可以。只要把XBMC的安装文件夹全部放到移动硬盘中,它也就能很好的运行了。虽说这一模式号称“移动”,但是如果真的更改盘符的话,依然会让之前添加进XBMC的移动硬盘上的文件全灭;而且这种情况下快捷方式也没办法好好工作。要想解决这个问题,也就只能求助于命令行(批处理)了。

两个思路。

一个是将移动硬盘上的媒体文件夹挂载到一个固定的盘符:

将下面的代码保存为bat文件,我们假设这个批处理文件放在移动硬盘的根目录,XBMC在根目录下的XBMC文件夹中,全部的媒体文件都存在于/Media文件夹下。

<code>

@Echo off

:: Map X: to this folder

::将批处理所在的目录的“Media”子目录挂载到X:盘符,

::如果之前有过挂载的话就先取消挂载

subst X: /D

subst X: "%~dp0Media\."

:: Launch XBMC

::启动XBMC

start "" "\XBMC\XBMC.exe" -p

</code>

如果需要的话,还可以再建立一个批处理,用来在退出XBMC后可以卸载掉虚拟磁盘:

<code>

subst X: /D

</code>

 

第二种思路使用的是符号连接(vista以上支持,之前的操作系统使用不同的命令,恕我不再罗列)

<code>

@Echo off

:: Create Virtual Media Folders

::创建虚拟文件夹,放在C盘下,

::想必所有windows的电脑都是有C盘的,

::注意目录名尽量特殊一点,以免冲突

mklink /D "C:\MyMediaFolder99102998"    "\Media"

:: Launch XBMC

::启动XBMC

start "" "\XBMC\XBMC.exe" -p

</code>

 

 

两种方法 殊途同归,都是将本来可能变动的地址虚拟成固定的路径

另外,注意在添加媒体的时候也要从虚拟目录载入,不然这么多操作就没有意义了。

 

参考资料:

http://forum.xbmc.org/showthread.php?tid=94181

  1. 殷峯说道:
    明天再做吧

发表回复

电子邮件地址不会被公开。必填项已用 * 标注