Проблемы с запуском 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.
Я решил эту проблему, установив версию для жесткого диска и версию для жесткого диска. Самое простое решение.