web-dev-qa-db-ja.com

実際にバッチファイルからプログラムを開くにはどうすればよいですか?それが行うすべてはそのファイル名でコマンドプロンプトを開くことです

私は現在、バッチファイルのスクリプトを学習しようとしているので、私が間違っていることを見ているだけではなく、テキストファイルを開く非常に単純なバッチファイルを作成しているだけです。

これが私が使用しているコードです:

@echo off
title Opening a File Lesson
START "C:\Projects\batch\hi.txt"
pause

本来の方法でテキストファイルを開く代わりに、対応する出力を含むバッチファイルコマンドプロンプトを開くだけです。

何かキーを押すと続行します 。 。 。

それは結構です、それは私が意図したものですが、テキストファイルを開く代わりに、ファイルパス:C:\ Projects\batch\hi.txtをキャプションとしてプロンプトを表示し、デフォルトのパスを出力するだけです:

Microsoft Windows [Version 6.1.7600] Copyright(c)2009 Microsoft Corporation。全著作権所有。

C:\ Projects>

誰かが私が間違っていること、なぜデフォルトのプログラムで開かないのかについて私を案内できますか?絶対パス(ターゲット)を使用してOutlookやVisual Studio 2010のような他のファイルも開こうとしましたが、これは同じことを行うので、テキストファイルだけではありません。私はまだスクリプト言語に慣れていません。

4
Chris

現在の例に合わせるために、以下を追加します。

START "" notepad.exe C:\Projects\batch\hi.txt

あなたが本当にやりたいことは、オープンnotepadであり、パラメータを渡すことです。この場合、それはファイル名です。 Athomのソリューションも機能する可能性がありますが、これは思い浮かんだだけです。

完了する前にメモ帳が閉じるのを待ちたい場合:

START "" /wait notepad.exe C:\Projects\batch\hi.txt

新しいバッチウィンドウのタイトルは引用符の中にあります。私の例では、タイトルは必要ないため、空白のままにします。 STARTコマンドはそれを期待していると思うので、それは必須かもしれません。

私はまた、あなたが終わったらpowershellを学ぶことをお勧めしますpowerShellという言葉は本当にそれが有用であることを説明しています。バッチ処理をあきらめるとは言いませんが、現時点ではバッチ処理の方が簡単な場合があります。また、この時点では、Powershellは負の終了コードを返すことはできませんが、余談です。

6
MDMoore313

.txtは開始コマンドを必要としません。

それを呼び出すだけです:

"C:\Projects\batch\hi.txt"

他のフォーマットでは、開始が必要です。たとえば、csvの場合、startを使用します。

2
Austin T French