コマンドプロンプトのコマンドエイリアス?


18

Windowsのコマンドプロンプトでコマンドエイリアスを作成するにはどうすればよいbashですか?

はフォーラムのスレッドdoskeyで知りましたので、次のようなことができます:

doskey ls=dir /b

...そして、コマンドlslsUnixのように少し動作します。(私はls頻繁にタイプしますcmd、それはおかしくさえありません。)

しかし、どのようにこれをセッション間で固執させるのですか?次回開けると消えるcmd.exe。(次のようなものはあり.bash_profileますか?)


申し訳ありませんが、それをofftopic作るために、しかし、あなたはcygwinのコピーをインストールするの恩恵を受けるとあなたのパームレストにすべてのUNIXツールを持つことができます
ブブ

ええ、私はしたいのですが、私はそれがオプションだとは思いません(そして価値がある以上の仕事かもしれません)。私の主要なマシンはLinuxとOS Xです-現在、Windowsでいくつかのプログラムをテストしています。
ベンジャミンオークス

1
することはあまりありません。cygwin.com/setup.exeをインストールするだけです。ダウンロードして次へをクリックしてください。それはすべてそこにあり、非常に簡単です。設定することもあまりありません。
-bubu

Hrm ...まあ、試してみます。マシンにはすでに多くの問題があります...;)
ベンジャミンオークス

4
MS-DOSがバージョン6.22以前でない限り、DOSを実行していません。cmd.exeについて言及することで、基本的なWinNT / 2k / XP / etcコマンドシェルについて話していると思います。
いんちきのキホーテ

回答:


0

この場合、cygwinを使用できますが、これは厳密なトピック上の回答ではありません。

http://www.cygwin.com/ CygWin
ダウンロード:http : //cygwin.com/setup.exe

Windowsで簡単にアクセスするには、パスにc:\ cygwin \ binを入れます。

find(1)vs find.exeなど、同等ではないWindowsソフトウェアと競合するコマンドがいくつかあることに注意してください。find(1)は、grepのようなfind.exe機能に対してすべてのファイルとサブディレクトリをリストします。

別のオプションは、アクセスすることです

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor \ AutoRunまたはHKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun

チェックアウト

 cmd.exe /? 
詳細については


Hrm ... Windowsのパスを使用していないようです...後でこれをいじる必要があると思います。(これまでcygwinを真剣に使用したことはありません。)これまでにご協力いただきありがとうございます。
ベンジャミンオークス

cygwinパスをWindowsパス環境変数に追加すると、cmd.exeのcygwin環境でツールを使用できます。警告があることに注意してください。たとえば、find.exeはcygwinが提供するfindコマンドと衝突します。
bubu

なぜアンダーボートなのか?わからない。
-bubu

34

@DOSKEYコマンドとHKCU\Software\Microsoft\Command Processor自動実行オプションを使用して、Windowsコマンドプロンプトで永続的なエイリアスを設定するのはかなり簡単です。

クイックステップバイステップガイド:

  1. 新しいバッチファイルを作成して呼び出しますAlias.bat。以下のテキストをコピーして貼り付けます。ヒント:C:\Binすべてのコマンドラインツール用のフォルダーを作成することをお勧めします。
  2. レジスタを開きますHKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. という名前の文字列値を追加し、Autorunその値をAlias.batファイルの絶対パスに設定します。
  4. できた

このバッチファイルは、コマンドプロンプトを開くたびに実行されます。

Alias.batの内容

DOSKEY ls=DIR $* 
DOSKEY cp=COPY $* 
DOSKEY xcp=XCOPY $*
DOSKEY mv=MOVE $* 
DOSKEY clear=CLS
DOSKEY h=DOSKEY /HISTORY
DOSKEY alias=if ".$*." == ".." ( DOSKEY /MACROS ) else ( DOSKEY $* )

これで、エイリアス(マクロ)の現在のリストを表示するalias(つまりDOSKEY /MACROS)を入力できます。

現在のセッションにのみ新しいエイリアスを追加するには、を使用できますalias name=command


1
シンプルで、一度セットアップすれば簡単に更新できます。これはとても気に入っています!
ウルダ

残念ながら、@DOSKEYAutodesk Maya 2010を終了するとコマンドがクラッシュするため、これらのエイリアスの使用を停止しました。おそらく、親プロセスがMayaかどうかを確認するなどの回避策がありますが、調査に時間を費やしていません。
デニス

9

また、一種のオフトピック-

cmd.exeコマンドラインの代わりにPowerShellを使用します。幸いなことに、PowerShellにはに相当するものがあり.bash_profilecmd.exeコマンドラインと同じように実行されます。エイリアス生成機能が組み込まれています。悪いニュースは、単純なcmd.exeコマンドよりも複雑なことをしたい場合、学習曲線が少しあるということです。

ところで、lsはのエイリアスとして定義されdirています。


なぜ以前にpower-shellを使用するように言われなかったのですか?それは非常に多くのことにとって非常に優れています。
アンドレス

3

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRuncmdプロンプトの起動時にコマンドを実行できるレジストリエントリがあり ます。これにはバッチファイルが含まれます。


HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRunを指すと、他のユーザーは同じユーザーIDを持たない可能性があります。
ブブ

@bubu:ああ、とても本当です、ごめんなさい。私は自分のレジストリを検索することで、考えていないことを発見しました。
-Phoshi

1

このリンクからこれらのコマンドのDOSバージョンを直接インストールすることをお勧めします。

シンプル、軽量、高効率など。今しばらく使っていて、嬉しいです!Cygwinは、私が必要とする必需品にとっては少し大きいです。


0

それらをautoexec.batに入れてみてください。よくわかりませんが、試してみる必要があります。autoexec.bat自体をC:\に配置します


動作していないようです...
ベンジャミンオークス


0

私はしばらくの間ネクロマンサーになり、このスレッドを死からよみがえらせます。答えは私にとって満足のいくものではありませんでした。もっと良い方法があることは知っていました。私はバットファイルを作成して含めることに手を出し、スパゲッティボールをうまく機能させる方法を見つけようとしましたが、うまくいきませんでした。とにかくGoogleに戻って私は行った..

私もこれを見つけました新しいDOSエイリアス/コマンドを追加し、管理DOSのキーボードショートカットを作成する方法それはうまく動作し、98-7で動作するはずです(ちょっと面白いナンバリングシステムですが、ちょっとウィンドウです)。このスレッドのユーザーとGoogleがこの方法で送信するユーザーに役立つことを願っています。

この方法はAliasほど単純ではなく、doskeyでもありません。セットアップしたら、これはほぼ同じ作業です。

また、デニス・ウィリアムソンの答えと統合されたこの部分がはるかに優れていることも付け加えます。同じアプリケーションの複数のバージョンのシェル環境を使用できます。たとえば、古いスクリプトの場合はphp 4、テストサーバーの場合はphp 5です。

とにかく、これは私にとってはるかにうまくいった。


0

PATH環境を設定して解決する

ls.cファイルを作成します

次のコードを入力してください

int main()
{
system("dir /b");
return 0;
}

ls.cにファイルをコンパイルします:

$gcc ls.c -o ls

実行可能ファイルls.exeが作成されます

ディレクトリを作成し、cmdline_toolsという名前を付けます

$mkdir cmdline_tools

ls.exeをディレクトリにコピーします

PATH環境でディレクトリのパスを設定する[ディレクトリの場所をコピーしてPATHに貼り付ける]

C:/cmdline_tools

cmd.exeを開いて入力します

$ ls

dirコマンドとして機能します。同じ方法で他のコマンドも実行できます。私たちに知らせていない場合。


0

doskeyおよびbashrc(cygwin> bashから)からのエイリアス/関数を持つCMD、スラッシュもcmdで機能します(win7以降)

  1. cmdrc.cmdを使用するには、cmdへのショートカットを作成します

    cmd -a "/ k%HOME%\ cmdrc.cmd c:\"

2 C:> cat%HOME%/ cmdrc.cmd

:: Override same named builtin windows commands
:: To override these aliases, prefix with '@', eg. @date will not use alias.
@doskey date=c:\cygwin\bin\date.exe $*
@doskey echo=c:\cygwin\bin\echo.exe $*
@doskey mkdir=c:\cygwin\bin\mkdir.exe $*
@doskey rmdir=c:\cygwin\bin\rmdir.exe $*
@doskey find=c:\cygwin\bin\find.exe $*
@doskey time=c:\somedir\time.exe $*

:: using a particular rsync with some options
@doskey rsync=c:\cygwin\bin\rsync.exe -e "ssh -F %HOME%/.ssh/config" $*   

@doskey cp='cp -vi %*'
@doskey ..=cd ..
@doskey ...=cd ../.. 

:: Or use bashrc (bash aliases, bash functions):

:: eg. In bashrc we have "alias cpvi='cp -vi'"

@doskey cpvi=bash -ic "set +u; cpvi $*"  

:: now cpvi is callable from cmd.

:: Install clink_x64 if you want readline editing in cmd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.