2014.
10.
16
13:57:39
結論から書くと、
1.バッチファイルでやる方法
2.doskeyコマンドでやる方法
の2つがあります。
バッチファイルでやる方法は、こんな内容のバッチファイル「ls.bat」を作成しφ(--)
■ls.bat
パスが通っているところ、例えば
にでも放り込めばOKです。
doskeyコマンドでやる方法は、まず、こんなエイリアスを設定しますφ(--)
これで、起動中のコマンドプロンプトでは「ls」が「dir」コマンドの別名として設定されます。
恒常的に使用できるようにするには、設定したエイリアス、例えば
の内容を記述した設定ファイルを用意し、
コマンドプロンプトのショートカットのリンク先を
から
に変更してください。
要は、コマンドプロンプト起動時に「doskey」コマンドを実行して、
設定内容を読み込むようにするわけです。
そんな感じ(--)ノ
それでは、経緯その他を書いていきます。
私自身がUNIX系に慣れているせいか、
どうも「ls」と打ってしまう癖が付いていてですね。
コマンドプロンプトでも「ls」と打ってしまい
と、よく怒られていたのです。
毎度毎度怒られるのも嫌なので、いっその事「ls」コマンドを使えるようにしちまおう!
そう考えたのが、今回の始まりです。
さてさて、どうしましょうね(--?
まずは「doskey」コマンドを使って
のようにエイリアスを設定して「dir」コマンドに対して「ls」の別名を付けてみました。
何もつけない
も、対象フォルダを指定した
も、ついでにオプションを指定した
もきちんと動きます。
なんだ、簡単じゃん♪
そんなふうに考えていた時期が俺にもありました。
実はこれ、このままだとコマンドを実行したコマンドプロンプトでしか有効じゃないのですね。
恒常的に有効化するためには
1.設定内容をファイルに保存する
2.コマンドプロンプト起動時に設定内容を読み込む
の手順を踏む必要があります。
具体的には、doskeyで設定された内容
を実行して表示される内容をファイルに保存して、
コマンドプロンプトのショートカットのリンク先を
から
に変更する必要があります。
要は、コマンドプロンプト起動時に「doskey」コマンドを実行して、
設定内容を読み込むようにするわけです。
なお、手動で設定ファイルを作成した際に
と表示されてしまう場合は、エイリアスを設定した状態で、
を実行して設定ファイルを作成するようにすれば、多分改善されますよ。
これがdoskeyコマンドを使ったやり方です。
う~ん……ちょっと微妙かなぁ(--ゞ
ショートカットの内容を書き換えるってことは「cmd.exe」直叩きだと
どうしようもないってことですもんね。
もうちょっとお手軽、かつ汎用的にやりたいんだよなぁ(--ゞ
その後、あれこれ考えて、結局バッチファイルでやることにしました。
まず、dirコマンドを忠実に再現したバッチファイルを作成します。
「忠実に再現」とは言っても、別に難しくはありません。
単に、バッチファイルの中でdirコマンドを実行すれば良いだけです。
出来あがったのがこちらのバッチファイルφ(--)
このバッチファイルに
という名前を付けます(--)b
最後に「ls.bat」をどこかパスの通っているところ、例えば
に放り込めば完成です。
これで、コマンドプロンプト上で「ls」と打つと「ls.bat」が実行され、
結果として「dir」コマンドが実行されます。
あっ、そうそう。
念の為に補足しておくと「%1 %2」の部分は、バッチファイルのパラメータです。
フォルダを指定した
のような実行と、オプションも指定した
のような実行を想定しています。
オプションの有無で実際のパラメータの数は変わりますが、特に問題はありませんでした。
うん、個人的にはバッチファイルの方が好きですね。
セキュリティ的に微妙なところはあるかもしれませんが、手っ取り早さで言えば、
バッチファイルで実現する方が圧倒的に楽だと思います。
と言うわけで、コマンドプロンプトで「ls」コマンドを使えるようにするの、完了\(--)/
1.バッチファイルでやる方法
2.doskeyコマンドでやる方法
の2つがあります。
バッチファイルでやる方法は、こんな内容のバッチファイル「ls.bat」を作成しφ(--)
■ls.bat
@echo off
dir %1 %2
dir %1 %2
パスが通っているところ、例えば
%WINDIR%\system32\
にでも放り込めばOKです。
doskeyコマンドでやる方法は、まず、こんなエイリアスを設定しますφ(--)
doskey ls=dir $1 $2
これで、起動中のコマンドプロンプトでは「ls」が「dir」コマンドの別名として設定されます。
恒常的に使用できるようにするには、設定したエイリアス、例えば
ls=dir $1 $2
の内容を記述した設定ファイルを用意し、
コマンドプロンプトのショートカットのリンク先を
%windir%\system32\cmd.exe
から
%windir%\system32\cmd.exe /k "doskey /macrofile=【設定ファイル名】"
に変更してください。
要は、コマンドプロンプト起動時に「doskey」コマンドを実行して、
設定内容を読み込むようにするわけです。
そんな感じ(--)ノ
それでは、経緯その他を書いていきます。
私自身がUNIX系に慣れているせいか、
どうも「ls」と打ってしまう癖が付いていてですね。
コマンドプロンプトでも「ls」と打ってしまい
'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と、よく怒られていたのです。
毎度毎度怒られるのも嫌なので、いっその事「ls」コマンドを使えるようにしちまおう!
そう考えたのが、今回の始まりです。
さてさて、どうしましょうね(--?
まずは「doskey」コマンドを使って
doskey ls=dir $1 $2
のようにエイリアスを設定して「dir」コマンドに対して「ls」の別名を付けてみました。
何もつけない
ls
も、対象フォルダを指定した
ls hoge_dir
も、ついでにオプションを指定した
ls /D hoge_dir
もきちんと動きます。
なんだ、簡単じゃん♪
そんなふうに考えていた時期が俺にもありました。
実はこれ、このままだとコマンドを実行したコマンドプロンプトでしか有効じゃないのですね。
恒常的に有効化するためには
1.設定内容をファイルに保存する
2.コマンドプロンプト起動時に設定内容を読み込む
の手順を踏む必要があります。
具体的には、doskeyで設定された内容
doskey /macros
を実行して表示される内容をファイルに保存して、
コマンドプロンプトのショートカットのリンク先を
%windir%\system32\cmd.exe
から
%windir%\system32\cmd.exe /k "doskey /macrofile=【設定ファイル名】"
に変更する必要があります。
要は、コマンドプロンプト起動時に「doskey」コマンドを実行して、
設定内容を読み込むようにするわけです。
なお、手動で設定ファイルを作成した際に
無効なマクロ定義です。
と表示されてしまう場合は、エイリアスを設定した状態で、
doskey /macros > 【設定ファイル名】
を実行して設定ファイルを作成するようにすれば、多分改善されますよ。
これがdoskeyコマンドを使ったやり方です。
う~ん……ちょっと微妙かなぁ(--ゞ
ショートカットの内容を書き換えるってことは「cmd.exe」直叩きだと
どうしようもないってことですもんね。
もうちょっとお手軽、かつ汎用的にやりたいんだよなぁ(--ゞ
その後、あれこれ考えて、結局バッチファイルでやることにしました。
まず、dirコマンドを忠実に再現したバッチファイルを作成します。
「忠実に再現」とは言っても、別に難しくはありません。
単に、バッチファイルの中でdirコマンドを実行すれば良いだけです。
出来あがったのがこちらのバッチファイルφ(--)
@echo off
dir %1 %2
dir %1 %2
このバッチファイルに
ls.bat
という名前を付けます(--)b
最後に「ls.bat」をどこかパスの通っているところ、例えば
%WINDIR%\system32\
に放り込めば完成です。
これで、コマンドプロンプト上で「ls」と打つと「ls.bat」が実行され、
結果として「dir」コマンドが実行されます。
あっ、そうそう。
念の為に補足しておくと「%1 %2」の部分は、バッチファイルのパラメータです。
フォルダを指定した
ls hoge_dir
のような実行と、オプションも指定した
ls /A hoge_dir
のような実行を想定しています。
オプションの有無で実際のパラメータの数は変わりますが、特に問題はありませんでした。
うん、個人的にはバッチファイルの方が好きですね。
セキュリティ的に微妙なところはあるかもしれませんが、手っ取り早さで言えば、
バッチファイルで実現する方が圧倒的に楽だと思います。
と言うわけで、コマンドプロンプトで「ls」コマンドを使えるようにするの、完了\(--)/