2013-03-04 2 views
0

Есть ли пакетный код/​​C#, если, например, скажите, у меня есть папка с аниме и папка с фильмами, и я хочу посмотреть аниме с программой A и фильмами с программой B.
Есть ли способ, которым я могу получить один и тот же тип файла (.mkv/.avi/.mp4) для открытия с различными программами в зависимости от его папки/места на жестком диске?
Я предполагаю, что мне нужно будет установить все типы видеофайлов, чтобы открыть эту партию, но я не знаю аргументов для ввода.
Спасибо.Batch Открыть разные программы в зависимости от местоположения

+0

Вы можете добиться этого, написав исполняемый файл, который использует предоставленные аргументы и идентифицирует путь, а затем запускает соответствующее приложение. Цель немного странная, правда, действительно ли нужно иметь отдельные приложения для аниме и регулярных шоу? –

ответ

0

Вы можете написать командный файл, который запускает соответствующее приложение на основе папки, как так:

IF /I "%~dp1"=="C:\anime\" programA.exe %* 
IF /I "%~dp1"=="C:\movie\" programB.exe %*  

затем щелкните правой кнопкой мыши на одном из файлов и выберите Открыть с помощью - Выберите по умолчанию программа, затем перейдите к файлу .bat вы только что создали. Убедитесь, что установлен флажок «Всегда использовать выбранную программу для открытия такого типа файлов».

С этого момента вы можете просто дважды щелкнуть файл, и программа будет запущена.

0

Если вы разместили файл, вы можете создать объект FileInfo для него, и проверить это путь Справочник по:

FileInfo file = new FileInfo(@"c:\Anime\Anime.avi"); 
string dirPath = file.DirectoryName; 

if (dirPath == @"c:\Anime") 
{ 
    //Open with VLC 
} 
else if (dirPath == ...something else...) 
{ 
    //Open with something else 
} 
+0

, что было бы хорошо, но я делаю это для ярлыка, чтобы сделать «щелчок правой кнопкой мыши с помощью», то, что я бы предпочел сделать, это установить программу .filetype по умолчанию для этой партии/C# таким образом, мне не пришлось бы редактировать код для каждого файла, который я хочу открыть – Froodle