Открытие определенного файла с командным файлом? - PullRequest
4 голосов
/ 07 апреля 2010

Я хотел бы знать, как я могу открыть определенный файл, используя определенную программу с командным файлом.Пока что мой пакетный файл может открыть программу, но я не уверен, как открыть файл с этой программой.

@echo off
start wgnuplot.exe

Ответы [ 8 ]

8 голосов
/ 07 апреля 2010
start wgnplot.exe "c:\path to file to open\foo.dat"
2 голосов
/ 07 апреля 2010
@echo off
start %1

или, если необходимо, экранировать символы -

@echo off
start %%1
1 голос
/ 28 января 2015

Вы находитесь в ситуации, когда вы не можете установить определенную программу в качестве программы по умолчанию, которая будет использоваться при открытии файла определенного типа, я обнаружил, что использование файла .bat удобно. В моем случае Textpad запускается на моей машине через Microsoft Application Virtualization («AppV»). Путь к Textpad находится, так сказать, в «каталоге AppV». Мой ярлык Textpad AppV имеет это в качестве цели ...

%ALLUSERSPROFILE%\Microsoft\AppV\Client\Integration\
 12345ABC-A1BC-1A23-1A23-1234567E1234\Root\TextPad.exe

Чтобы связать textpad.exe с файлами 'txt' через файл 'bat':

1) В проводнике создайте новый ('txt') файл и сохраните его как opentextpad.bat в «подходящем» месте

2) В файле opentextpad.bat введите следующую строку:

textpad.exe %1  

3) Сохранить и закрыть

4) В проводнике выполните сопоставление файлов Windows, щелкнув правой кнопкой мыши файл «txt» (например, «dummy.txt») и выберите «Открыть с помощью> Выбрать программу по умолчанию ...» из меню. В окне «Открыть с помощью» нажмите «Обзор ...», затем перейдите к файлу textpad.bat и выберите его. Нажмите «Открыть». Вы вернетесь в окно «Открыть с помощью». Обязательно установите флажок «Всегда использовать выбранную программу, чтобы открыть этот тип файла». Нажмите «ОК», и окно закроется.

Когда вы откроете файл 'txt' сейчас, он откроет файл с помощью 'textpad.exe'.

Надеюсь, это полезно.

1 голос
/ 14 ноября 2013

Если файл, который вы хотите открыть, находится в той же папке, что и ваш пакетный (.bat) файл, тогда вы можете просто попробовать:

start filename.filetype

пример: start image.png

1 голос
/ 18 апреля 2010

Вы можете просто позвонить

program "file"

из командного файла для подавляющего большинства программ. Не связывайтесь с start, если вам это абсолютно не нужно; у него есть различные странные побочные эффекты, которые делают вашу жизнь только тяжелее.

Дело в том, что почти каждая программа, которая делает что-то с файлами, позволяет передавать имя файла, чтобы что-то делать в командной строке. Если это не так, то вы не можете дважды щелкнуть файлы в графической оболочке, чтобы открыть их, например.

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

1 голос
/ 07 апреля 2010

Эта программа должна иметь определенный API, который вы можете использовать из командной строки.

Например, следующая команда использует 7Zip для распаковки zip-файла. Это работает только тогда, когда 7Zip имеет API для выполнения этой конкретной задачи (с использованием переключателя x).

"C:\Program Files\7-Zip\CommandLine\7za.exe" x C:\docs\base-file-structure.zip 
0 голосов
/ 04 ноября 2017

Если вы пытаетесь открыть файл в том же каталоге, это будет:

./PROGRAM TRYING TO OPEN
./FILE NAME/PROGRAM TRYING TO OPEN (or this)

Или, если попытаться вернуться из той же директории, это будет:

../PROGRAM TRYING TO OPEN
../FILE NAME/PROGRAM TRYING TO OPEN (or this)

Иначе, если вам нужен прямой с самого начала, это будет:

(DIRECTORY TYPE)\Users\%username%\(FILE DIRECTORY)
(ex) C:\Users\ajste\Desktop\Henlo.cmd
0 голосов
/ 30 апреля 2017
@echo off
cd "folder directory to your file"
start filename.ext

Например:

cd "C:\Program Files (x86)\Winamp" 
Start winamp.exe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...