Проблемы с запуском Batch to EXE с CD

В качестве одолжения я собираю несколько видео на DVD. Это все разные разрешения, кодеки и контейнеры. Чтобы сэкономить время, я подумал, что просто соберу пакет в MPC и запустю их с помощью пакетного скрипта. Мне сказали, что им нужен значок, и поскольку в Windows нет возможности создавать динамические ярлыки, используя %CD%насколько я мог найти. Очень простой пакетный скрипт:

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

Итак, я попробовал несколько приложений BAT to 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"

Это работает достаточно хорошо (вызывает ошибку, если лотки для дисков открыты или пусты), однако, если файлы копируются на жесткий диск, это не так, поскольку он будет пытаться читать с компакт-диска. Нет способа узнать, запускается ли он с жесткого диска или диска.

На этом этапе я даже буду признателен за помощь в том, как написать что-то подобное на C и избежать всех пакетных файлов (и, следовательно, путаницы временных файлов).

2 ответа

Как насчет относительных путей к папкам?

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

Это должно работать как на HDD, так и на CD.

Я решил эту проблему, установив версию для жесткого диска и версию для жесткого диска. Самое простое решение.

Другие вопросы по тегам