#はじめに
今回はコマンドプロンプトでls
やpwd
, touch
コマンドを使えるようにしていきたいと思います。
基本的にwsl上で作業している主ですが、pyinstaller
で作成したexeファイルをWindows使用する都合上、windowsでの作業をしなくてはいけなくなり、いっそのことalias登録しておこうという気持ちになりました。1
#環境
Windows10
#aliasの登録, 永続化
###1. alias用ファイルを作成
C:\Users\user
といった任意の場所に、doskey(Linuxで言うalias)を記述するためのテキストファイルalias.txt
などを作成します。
###2. aliasの登録
テキストファイルに登録したいdoskeyを記述します。
alias=if "$1"=="" (doskey /macros) else (doskey $*)
cat=type $*
cp=copy $*
h=doskey /history
history=doskey /history
ll=dir /ad
ls=dir /w
lv=more /E $*
mv=move $*
pwd=echo %CD%
touch=type nul > $*
tree=tree /f $b more
unalias=doskey $*=
diff=fc /N $*
mkvenv=py -m venv .\py3env
venvup=.\py3env\Scripts\activate.bat
ここで、最後の2つはpython venv
を使わない人は記述しなくていいです。
少し使うのが楽になるって程度の記述です。
###3. aliasの永続化
レジストリ エディターを開いて、
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
、
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
のどちらかを探し、
右クリック
>新規
>文字列値
を
AutoRun
で追加します。
右クリック
>編集
>値
を
doskey /macrofile=%USERPROFILE%\alias.txt
とします。
ここで
%USERPROFILE%\alias.txt
とは
C:\Users\user\alias.txt
のことを指しています。
以下に、流れを把握するための画像を折りたたみいれています。
レジストリ エディターの開き方
Windowsキーを押下し、`レジストリ エディター` と検索するとレジストリ エディタ-がヒットしますAutoRun設定までの流れ
![AutoRun設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506931/f9145b63-6a0d-c48f-ab1f-f939ee79da88.png) 設定後にAutoRunの上で `右クリック`>`編集`で値を自分のaliasのファイルがある階層までのパスとする。 ![値の登録](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506931/e6b9698f-6826-36b1-5eb9-57edd3f84b1a.png)今度は、作成したテキストファイルに追加していくことで、aliasを増やしていけます。
###4. 使ってみた
・ls
>touch
>ls
C:\Users\user>ls
ドライブ C のボリューム ラベルは Local Disk です
ボリューム シリアル番号は ****-**** です
C:\Users\user のディレクトリ
[.] [..] [.pylint.d] [.vagrant.d] [.VirtualBox] [.vscode] [3D Objects]
[alias] [Apple] [Contacts] [Desktop] [Documents] [Downloads] [Favorites]
[Links] [Music] [OneDrive] [Pictures] [Saved Games] [Searches] [vagrant]
[Videos] [VirtualBox VMs] [workspase]
0 個のファイル 0 バイト
24 個のディレクトリ 109,748,617,216 バイトの空き領域
C:\Users\user>touch test.txt
C:\Users\user>ls
ドライブ C のボリューム ラベルは Local Disk です
ボリューム シリアル番号は ****-**** です
C:\Users\user のディレクトリ
[.] [..] [.pylint.d] [.vagrant.d] [.VirtualBox] [.vscode] [3D Objects]
[alias] [Apple] [Contacts] [Desktop] [Documents] [Downloads] [Favorites]
[Links] [Music] [OneDrive] [Pictures] [Saved Games] [Searches] test.txt
[vagrant] [Videos] [VirtualBox VMs] [workspase]
1 個のファイル 0 バイト
24 個のディレクトリ 109,748,621,312 バイトの空き領域
ちゃんと追加されました。
・alias
C:\Users\user>alias
cat=type $*
alias=if "$1"=="" (doskey /macros) else (doskey $*)
cp=copy $*
ll=dir /ad
h=doskey /history
lv=more /E $*
history=doskey /history
ls=dir /w
mv=move $*
pwd=echo %CD%
touch=type nul > $*
unalias=doskey $*=
tree=tree /f $b more
mkvenv=py -m venv .\py3env
venvup=.\py3env\Scripts\activate.bat
本来コマンドプロンプトでは使えないaliasコマンドも使えました。
#おわりに
うまくできましたか?
ちなみに登録しなくともコマンドプロンプトでは
lsコマンドはdir
コマンド
aliasコマンドはdoskey /macros
コマンド
で実行できます。
ただUbuntuなどになれている人はコマンドプロンプトに移ってきてびっくりしたことがあると思います。
変数の設定などが少しLinuxのaliasとは違って戸惑うと思いますが、独自に追加してみてください。
少しでも参考になればと思います!
それでは
#参考
-
pyinstallerはクロスコンパイラではないためWindows用のexeファイルはwidows上でコンパイルしなければいけないらしい ↩