カテゴリー
【Wine活用講座】WineでLinuxからでもWindowsのcmdを実行してbatファイルを動かす方法
※ 当ページには【広告/PR】を含む場合があります。
2023/11/10

Windows向けのbatファイルで書かれた配布スクリプトを扱いたくても、手元にLinuxパソコンしかない場合は「動かすのは無理そうだからやめておこう」と諦めてしまうことのほうが多いと思います。
ですが、batファイルの内容がさほど複雑ではない場合、
もしかしたら徒労に終わるかもしれませんが、WineでWindowsのbatが実行できるなら、Linux使いとしては手間も省けて作業も楽になります。
今回はWineでWindow/cmdを利用する手順を簡潔に紹介してみます。
Wineからcmdを実行させる
WineはLinux上でWindowsアプリケーションを走らせるための互換レイヤーアプリケーションです。
各Linuxディストーションへのインストール方法は公式ページにお任せして、ここでは既にインストール済みという体で話を進めていきます。
なお、手元の環境では
$ wine --version
wine-8.0.2
をインストールしています。
Windowsのターミナルは伝統的に
cmd(コマンドプロンプト)
powershell(パワーシェル)
あまり使う機会もないでしょうが、Wineでは標準アプリケーションとして
cmd
$ wine cmd
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
MESA-INTEL: warning: Haswell Vulkan support is incomplete
Microsoft Windows 6.3.9600
Z:\home\user>
もうこれでWindowsのコマンドプロンプトが基本的に動かす準備が整いました。
あとはbatファイルを叩けば、Windowsと使い方が変わらないのですが、たとえば以下のスクリプトで試してみましょう。
@echo off
IF 1==1 (
echo ホゲホゲ☆
)
でこれを
1.bat
cmd
Z:\home\user> 1.bat
繝帙ご繝帙ご笘・
おそらく文字化けしています。
Linuxのファイルはデフォルトで
UTF-8
Shift-JIS
Z:\home\user> 1.bat
ホゲホゲ☆
今度は日本語が表示されるようになりました。
現状、コンソール表示では対応していないユニコード文字(日本語)がある他は問題なく動いていそうです。
まとめ
今回はWineに付属しているcmdアプリからbatファイルを実行する方法を短く紹介してみました。
普段はWindows持ちでないLinuxユーザーにとっては、この方法を覚えておくといざというときに役に立つかもしれません。
機会があれば、別の記事にて、このWine版cmdコマンドの使い道を紹介していきたいと考えております。
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー