web-dev-qa-db-ja.com

バッチファイルで特定のファイルを開く?

バッチファイルで特定のプログラムを使用して特定のファイルを開く方法を知りたいのですが。これまでのところ、私のバッチファイルでプログラムを開くことができますが、そのプログラムでファイルを開く方法がわかりません。

@echo off
start wgnuplot.exe
4
sooprise
start wgnplot.exe "c:\path to file to open\foo.dat"
8
Chris Thornton
@echo off
start %1

または、文字をエスケープする必要がある場合-

@echo off
start %%1
2
Etamar Laron

あなたは単に呼び出すことができます

program "file"

大多数のプログラムのバッチファイルから。どうしても必要な場合を除いて、startをいじらないでください。それはあなたの人生をより困難にする様々な奇妙な副作用を持っています。

ここでのポイントは、ファイルを処理するほとんどすべてのプログラムで、コマンドラインでファイルの名前を渡して何かを実行できるということです。そうでない場合は、たとえば、グラフィカルシェルでファイルをダブルクリックして開くことはできません。

実行しているプログラムがコンソールアプリケーションの場合、それは現在のコンソールウィンドウで実行され、バッチファイルはその後も続行されます。プログラムがGUIプログラムである場合(つまり、コンソールプログラムではない場合、これはEXEの違いです)、バッチファイルは起動直後に続行されます。

1
Joey

そのプログラムには、コマンドラインから使用できる特定のAPIが必要です。

たとえば、次のコマンドは7Zipを使用してZipファイルを抽出します。これは、7Zipにこの特定のタスクを実行するためのAPIがあるためにのみ機能します(xスイッチを使用)。

"C:\Program Files\7-Zip\CommandLine\7za.exe" x C:\docs\base-file-structure.Zip 
1
Marcus Leon

特定の種類のファイルを開くときに使用するデフォルトのプログラムとして特定のプログラムを設定できない状況にあるので、.batファイルを使用すると便利です。私の場合、TextpadはMicrosoft Application Virtualization( "AppV")を介して私のマシンで実行されます。 Textpadへのパスは、いわば「AppVディレクトリ」にあります。私のTextpadAppVショートカットはこれをターゲットとして持っています...

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

'bat'ファイルを介してtextpad.exeを 'txt'ファイルに関連付けるには:

1)エクスプローラーで、新しい( 'txt')ファイルを作成し、opentextpad.batとして「適切な」場所に保存します

2)opentextpad.batファイルに、次の行を入力します。

textpad.exe %1  

3)保存して閉じる

4)エクスプローラーで、「txt」ファイル(「dummy.txt」など)を右クリックしてWindowsファイルの関連付けを実行し、メニューから「プログラムから開く」>「デフォルトのプログラムを選択...」を選択します。 [プログラムから開く]ウィンドウで、[参照...]をクリックし、textpad.batファイルに移動して選択します。 [開く]をクリックします。 [プログラムから開く]ウィンドウに戻ります。 [常に選択したプログラムを使用してこのタイプのファイルを開く]チェックボックスを必ずオンにしてください。 「OK」をクリックすると、ウィンドウが閉じます。

ここで「txt」ファイルを開くと、「textpad.exe」でファイルが開きます。

これがお役に立てば幸いです。

1
L. L. Learner

開きたいファイルがbatch(.bat)ファイルと同じフォルダーにある場合は、次のことを試してみてください。

start filename.filetype

例:start image.png

1
ASGeek

同じディレクトリにあるファイルを開こうとすると、次のようになります。

./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
Warriorfoox
@echo off
cd "folder directory to your file"
start filename.ext

例えば:

cd "C:\Program Files (x86)\Winamp" 
Start winamp.exe
0
jirehpretorius