Windowsエクスプローラーとコマンドラインでさまざまなデフォルトプログラムを設定する方法

zmaster

私はいくつかのrubyスクリプトを持っていて、同じファイルに対して2つの異なるデフォルトプログラムを使用したいのですが、コードを編集するためだけにWindowsエクスプローラーでダブルクリックすると(たとえばSublime Textで)1つのプログラムが必要ですが、コマンドラインから実行するとスクリプトを実行したい。私はWindows10を使用しています。

これまでのところ、Windowsエクスプローラーの崇高なテキストのデフォルトプログラムを設定しているので、スクリプトは問題なく開きます。

コマンドラインで設定しました

E:\projects\Ruby>assoc .rb
.rb=Ruby.File

そして

E:\projects\Ruby>ftype Ruby.File
Ruby.File=C:\bin\ruby200\bin\ruby.exe "%1" %*

また.RBPATHEXT環境変数を設定したので、スクリプトの名前を入力するだけです。しかし、問題は、私がそうすると、スクリプトを実行する代わりにSublimeTextを起動することです。

Windowsエクスプローラーからデフォルトのプログラムを変更すると、コマンドラインから実行されますが、もちろん、ダブルクリックしても崇高なテキストは開きません。

それでは、2つの異なるデフォルトプログラムを持つことは可能ですか?スクリプトをダブルクリックすると、1つのフォームコマンドラインと別のフォームウィンドウエクスプローラーが表示されますか?

アドリアーノレペッティ

GUIで行うのは簡単ではありませんが、コマンドラインから行うことができます。まず、関連付けを動的にする必要がありますこれを行うには、ファイルの関連付けREG_EXPAND_SZを含むレジストリキーの値の種類を使用する必要があり.rbます。REG_EXPAND_SZ文字通りには使用されませんが、拡張されます(=環境変数は実際の値に置き換えられます)。assocとの関連付けを作成できますが、reg addデフォルトのタイプはREG_SZであるため、を使用して変更する必要がありますプログラムパスは次のようにする必要があります。

%RUBY_PROGRAM% "%1" %*

%RUBY_PROGRAM%これまでのところ、既存の環境変数ではない名前はどこにありますか。これで、その変数にデフォルト値を与えることができます。

setx RUBY_PROGRAM c:\windows\notepad.exe

次に、コマンドプロンプトを閉じて、そのプロパティを変更します(GUIから)。別の方法として、変更したコマンドプロンプトの新しいショートカットを作成することもできます。実行するコマンドは次のとおりです。

%comspec% /k ""c:\setup_ruby.bat""

/k起動時に特定のバッチファイルを実行できます。そのバッチでは、%RUBY_PROGRAM%環境変数に別の値を設定する必要があります。

SET RUBY_PROGRAM=C:\bin\ruby200\bin\ruby.exe

これで、その特別なショートカットを実行するたびに、Rubyプログラムを直接実行します。特別なショートカットを作成せず、このルールをすべてのコマンドプロンプトに適用する場合(開いている場所に関係なく)、HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRunレジストリキーにエントリを追加できます。

ftype起動スクリプト(終了バッチも提供挿入するだけでもかまいませんが、コマンドラインプロンプトを閉じるまで(Windowsエクスプローラーからファイルをダブルクリックした場合でも)、すべてのアプリケーションに影響します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コマンドラインとWindowsエクスプローラーでのWMICのさまざまな動作

分類Dev

クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

分類Dev

クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

分類Dev

クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

分類Dev

さまざまなウィンドウにさまざまなWindows7エクスプローラーのレイアウトを設定する方法(ナビゲーションペインあり/なし)

分類Dev

コマンドプロンプトの「java」コマンドで使用するデフォルトのクラスパスを設定します

分類Dev

WindowsAppsフォルダーの設定を変更せずに、別のプログラムまたはコマンドラインからWindowsアプリを実行することはできますか?

分類Dev

Alloy:さまざまな実行コマンドスコープを実行するためのコンパクトなJavaプログラム

分類Dev

プロジェクトマップのさまざまなクロスコンパイルターゲットが異なるようにソフトウェアプロジェクトを設定する方法。単一プロジェクトのTFSブランチ

分類Dev

'npm start'スクリプトでエラーが発生するのはなぜですか: '。' 内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。

分類Dev

コマンドラインでプロファイルが指定されていない場合、Spring Boot統合テストはデフォルトのプロファイルを取得できず、エラーをスローします

分類Dev

ブートストラップフォームコントロールのパディングを0ピクセルに設定する方法

分類Dev

ソナー品質プロファイル(.xml)をプログラムでアップロードし、デフォルトとして設定します

分類Dev

コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

分類Dev

さまざまなクラスをプログラムでグループ化してタイプヒントする

分類Dev

シングルスレッドプログラムを使用する代わりに、マルチスレッドプログラムと並行してプロジェクトをコンパイルすることでパフォーマンス上の利点はありますか?

分類Dev

デフォルトのコマンドライン引数を使用して、ファイルエクスプローラーからプログラムを実行します

分類Dev

プログラムでレイアウトサイズを設定すると、実際にパフォーマンスが低下しますか?

分類Dev

プログラムでレイアウトサイズを設定すると、実際にパフォーマンスが低下しますか?

分類Dev

Javaでデフォルトのログレベルを設定するためのコマンドラインオプションはありますか

分類Dev

アプリのグラフィックパフォーマンスをプログラムで設定する

分類Dev

Android:新しい方法でプログラムでロケールを設定すると、コンテキストが変更されます

分類Dev

exeファイルがデバッグコンパイラ設定でコンパイルされた場合、Delphiプログラムをリバースエンジニアリングまたは破壊する方が簡単ですか?

分類Dev

Liquibase、Javaでプログラムでデフォルトスキーマを設定する方法

分類Dev

ソリューションファイル内のプロジェクトにMsBuildプロパティが設定されている場合、カスタムコンパイルエラーをスローする方法はありますか?

分類Dev

VBA:私のプログラムはフォーマットでコンパイルエラーをスローしています

分類Dev

アプリケーションインサイトインストルメンテーションキーをプログラムで設定するとエラーがスローされます

分類Dev

エクスプローラーウィンドウのWindows10クイックアクセスパネルにプログラムでフォルダーを追加することはできますか?

分類Dev

アドレスバーのカスタム「エイリアス」(「デスクトップ」や「プログラム ファイル」など) で場所を自動的に開くように Windows ファイル エクスプローラーを設定する方法は?

Related 関連記事

  1. 1

    コマンドラインとWindowsエクスプローラーでのWMICのさまざまな動作

  2. 2

    クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

  3. 3

    クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

  4. 4

    クロスプラットフォームcmakeプロジェクトでコンパイラフラグを設定する最新の方法

  5. 5

    さまざまなウィンドウにさまざまなWindows7エクスプローラーのレイアウトを設定する方法(ナビゲーションペインあり/なし)

  6. 6

    コマンドプロンプトの「java」コマンドで使用するデフォルトのクラスパスを設定します

  7. 7

    WindowsAppsフォルダーの設定を変更せずに、別のプログラムまたはコマンドラインからWindowsアプリを実行することはできますか?

  8. 8

    Alloy:さまざまな実行コマンドスコープを実行するためのコンパクトなJavaプログラム

  9. 9

    プロジェクトマップのさまざまなクロスコンパイルターゲットが異なるようにソフトウェアプロジェクトを設定する方法。単一プロジェクトのTFSブランチ

  10. 10

    'npm start'スクリプトでエラーが発生するのはなぜですか: '。' 内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。

  11. 11

    コマンドラインでプロファイルが指定されていない場合、Spring Boot統合テストはデフォルトのプロファイルを取得できず、エラーをスローします

  12. 12

    ブートストラップフォームコントロールのパディングを0ピクセルに設定する方法

  13. 13

    ソナー品質プロファイル(.xml)をプログラムでアップロードし、デフォルトとして設定します

  14. 14

    コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

  15. 15

    さまざまなクラスをプログラムでグループ化してタイプヒントする

  16. 16

    シングルスレッドプログラムを使用する代わりに、マルチスレッドプログラムと並行してプロジェクトをコンパイルすることでパフォーマンス上の利点はありますか?

  17. 17

    デフォルトのコマンドライン引数を使用して、ファイルエクスプローラーからプログラムを実行します

  18. 18

    プログラムでレイアウトサイズを設定すると、実際にパフォーマンスが低下しますか?

  19. 19

    プログラムでレイアウトサイズを設定すると、実際にパフォーマンスが低下しますか?

  20. 20

    Javaでデフォルトのログレベルを設定するためのコマンドラインオプションはありますか

  21. 21

    アプリのグラフィックパフォーマンスをプログラムで設定する

  22. 22

    Android:新しい方法でプログラムでロケールを設定すると、コンテキストが変更されます

  23. 23

    exeファイルがデバッグコンパイラ設定でコンパイルされた場合、Delphiプログラムをリバースエンジニアリングまたは破壊する方が簡単ですか?

  24. 24

    Liquibase、Javaでプログラムでデフォルトスキーマを設定する方法

  25. 25

    ソリューションファイル内のプロジェクトにMsBuildプロパティが設定されている場合、カスタムコンパイルエラーをスローする方法はありますか?

  26. 26

    VBA:私のプログラムはフォーマットでコンパイルエラーをスローしています

  27. 27

    アプリケーションインサイトインストルメンテーションキーをプログラムで設定するとエラーがスローされます

  28. 28

    エクスプローラーウィンドウのWindows10クイックアクセスパネルにプログラムでフォルダーを追加することはできますか?

  29. 29

    アドレスバーのカスタム「エイリアス」(「デスクトップ」や「プログラム ファイル」など) で場所を自動的に開くように Windows ファイル エクスプローラーを設定する方法は?

ホットタグ

アーカイブ