
高級ゲーミング キーボードのマクロを使用して実行したい、かなりシンプルなバッチ スクリプトがあります。ただし、SteelSeries Engine では、マクロ ボタンを使用して .exe ファイルを開くことしかサポートされていません。スクリプトをシンプルな実行可能ファイルに変換する方法はありますか?
答え1
はい、実際そうです。見た目はきれいではありませんが、クリーンです (後でクリーンアップする必要はありません)。実際、システムに組み込まれています。
フォルダー内にC:\Windows\System32\
というファイルがありますiexpress.exe
。
- 右クリックして
Run as administrator
. - 新しい SED を作成し、「ファイルを抽出してインストール コマンドを実行する」を選択します。
- 必要なスクリプトを追加し、次の画面で、インストール プログラムを
cmd /c [your_script.bat]
[your_script.bat] が実行するスクリプト ファイルである場所に設定していることを確認します。これを行わないと、Windows は、かなり長い間使用されていない Command.com (コマンド プロンプトの古いバージョン) を使用しようとします。 - 設定を選択し (「パッケージ内で長いファイル名を使用してファイルを保存する」を選択する必要がある場合があります)、出力パス (作成する .exe ファイル) を設定し、「再起動なし」を選択します。
- 次へをクリックすると、.exe が作成されるはずです。
注意: このファイルは実際にはスクリプトのラッパーとしてのみ機能し、スクリプト自体は実行時に作成される一時フォルダー内で実行されます (その後削除されます)。そのため、相対パスを使用しないようにしてください。
答え2
バッチファイルからEXEを作成するために強くお勧めする2つの無料プログラムを紹介します。
どちらのプログラムもシンプルな GUI で使用できます。
Bat To Exe Converter
CLI コマンドもサポートしています (\?
ヘルプのフラグ)。ドキュメントからの基本的な例:
Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
答え3
キーボード ソフトウェアが実行可能ファイルへの引数の受け渡しをサポートしている場合 (不可能ではない)、その必要はありません。
cmd.exe /c <path to batchfile>
バッチ ファイルを実行し、キーボード ソフトウェアに名前を付けるための有効な実行可能ファイルを作成します。変換が不要なため、追加の手順を必要とせずにいつでも簡単にバッチに変更を加えることができます。
答え4
Windows のバージョンによって、同じバッチ ファイル コマンドの効果が異なり、一部のコマンドは一部の Windows システムに限定されています (例:findstr
および) shutdown
。
ちなみに、Win 10 CMD では、コマンド ラインでの の変更は許可されませんSETLOCAL
。バッチ ファイルの場合は OK です。
さまざまなバージョンの Windows を再起動するためのさまざまなコマンドについては、次のリンクを参照してください。 https://www.computerhope.com/issues/ch000321.htm
したがって、Win 98 でスクリプトをコンパイルし、Win 8.1 で実行すると、予期しない結果になったり、スクリプトが動作しないこともあります。コマンドのリストは、こちらを参照してください。 https://www.ionos.com/digitalguide/server/know-how/windows-cmd-commands/
このため、Windows の各バージョンには異なるコンパイラが必要となり、同じ命令セットを使用して、できるだけ多くの CPU チップで実行できるバイナリ コード (汎用) を出力するコンパイラが望ましいです。ほとんどのプログラムで提供される回避策は、スクリプトを exe ファイルにラップし、開いたり実行したりするときにスクリプトを展開して実行するというものです (例: Bat_To_Exe_Converter、Bat2Exe、BatchCompiler、Winzip)。 https://support.winzip.com/hc/en-us/articles/115011794948-自己解凍 Zip ファイルとは-
この移植性の問題を解決するために、仮想マシンが普及し、Java および関連スクリプトが普及しました。
ただし、これは解釈されたコードであり、コンパイルされたコードほど高速ではありません。仮想マシンからのバイトコード (中間コード) は、(JIT) であってもコンパイルする必要があります。 https://aboullaite.me/understanding-jit-compiler-just-in-time-compiler/
つまり、コマンド プロセッサによって解釈されるスクリプトを含む exe ファイルを取得できますが、これはネイティブ実行可能ファイルではないため、Windows オペレーティング システムによるホストなしでは実行されません。