【问题标题】:Problems with Batch to EXE running off CD批处理到 EXE 运行 CD 的问题
【发布时间】:2011-01-20 07:06:16
【问题描述】:

作为一个忙,我正在 DVD 上编译一些视频。它们都是不同的分辨率、编解码器和容器。为了节省自己的时间,我想我只是捆绑在 MPC 中并让一个批处理脚本启动它们。有人告诉我他们需要一个图标,因为据我所知,无法使用%CD% 在 Windows 中创建动态快捷方式。 非常简单的批处理脚本:

START "" "%cd%\MPC-HC\mpc-hc.exe" "%cd%\VideoFiles\01.mp4"

所以我尝试了一些 BAT 到 EXE 应用程序,发现它们真的只是解压 BAT 并运行它。他们使用%CD% 作为临时文件夹,因此无法从光盘启动。

所以我找到了 ExeScript,我可以更改临时目录...唯一的问题?然后BAT从那里启动,意思是%CD%没用。

所以我再次更改批处理文件以嗅出磁盘驱动器:

for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%a:\01.exe     
set rundir=%%a:
START "" "%rundir%\MPC-HC\mpc-hc.exe" "%rundir%\VideoFiles\01.mp4"

这很好用(如果光盘托盘打开或为空,则会导致错误),但是如果将文件复制到 HDD,则不会,因为它会尝试从 CD 读取。无法知道它是从硬盘驱动器还是从光盘启动的。

在这一点上,我什至会感谢有关如何用 C 编写类似这样的东西并避免将批处理文件放在一起(以及因此临时文件混乱)的帮助。

【问题讨论】:

  • 一张CD/DVD可以挂载到任何目录,不需要盘符!

标签: windows batch-file exe cd-drive


【解决方案1】:

我已经解决了这个问题,方法是安装一个来自驱动器的版本和一个来自 HDD 的版本。最简单的解决方案。

【讨论】:

    【解决方案2】:

    相对文件夹路径呢?

    START "" "MPC-HC\mpc-hc.exe" "VideoFiles\01.mp4"
    

    这应该适用于 HDD 和 CD。

    【讨论】:

    • 最好使用相对于批处理文件位置的路径(使用%~dp0)。
    猜你喜欢
    • 2014-07-03
    • 2013-01-03
    • 1970-01-01
    • 2015-02-23
    • 2015-09-13
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    相关资源
    最近更新 更多