私はWindowsコマンドプロンプトでlsを使用して、dirコマンドを実行したいです。
どうやってやるの?
あなたは出来る:
ls.bat
というバッチファイルを作成し、dir
コマンドのみを含めるls.bat
ファイルが存在するディレクトリをPATH
環境変数に追加しますその後、コマンドプロンプトからls
を実行できます。
この質問は、1つの簡単なコマンドで解決できます。
echo @dir %* > %systemroot%\system32\ls.bat
Vista以降を使用している場合は、最初にcmd.exe
を管理者として実行してください。
私が見つけた最も簡単な方法は次のとおりです:
bin
ディレクトリをPath変数に追加します。鉱山はC:\Program Files\Git\usr\bin
にありました。ls
をお楽しみください。私は解決策を持っていますが、それは汚れています:
「dir」のみを含むls.batという名前のファイルを作成します。
C:\ windows\system32(またはPATH環境変数内の任意のディレクトリ)に配置します。
それは(正常に)動作します!
編集:より一貫性のあるもの: https://superuser.com/questions/49170/create-an-alias-in-windows-xp
Vista/7のWindowsコマンドプロンプトはNTFSシンボリックリンクを許可し、管理者としてcmd.exeを実行します:
mklink ls %System%\dir.exe
次に、作成したリンクの場所を含めるようにPATH環境変数を設定します。
「ls」コマンド以外のものが必要な場合は、 cygwin を調べる必要があります。
EDIT- dir.exe
は独立したプログラムではないため、実際には機能しません。ただし、mklink
とcygwinは知っておくと便利です
上記の投稿の+1は、Windows用のgitをインストールし、ディレクトリbinをパス変数に追加することを提案しています。
Windows 8およびWindows 7マシンのcmd.exeでtouch、ls、および他の多くのUNIXコマンドが動作する別の方法。
次のサイトにアクセスして、Cygwinをインストールします
https://www.cygwin.com/install.html
システムに32ビットまたは64ビットバージョンをインストールします。デフォルトの設定とパッケージには必要なものが含まれているはずなので、パッケージ画面に移動したら何も変更する必要はありません。
インストール後、Cygwinフォルダーのパスを環境パス変数にコピーします。例えば; cygwinをC:\ Cygwinにインストールした場合、環境システムパス変数に次を追加します。
; C:\ Cygwin\bin
システムに64ビットバージョンをインストールし、デフォルトのフォルダー名とパスはC:\ cygwin64でした。そこで、システム環境パス変数に次を追加しました。
; C:\ cygwin64\bin
ターミナルが開いている場合は再起動します。次に「ls」と入力すると、ディレクトリのリストが表示されます。
PATH環境変数の設定に慣れていない場合は、次を参照してください。
私のls.batは以下でした
@dir %*
cLI引数を転送できる
ls /b
ls /w
%windir%または%PATH%変数の任意のディレクトリに配置します。
必ずANSIエンコーディングでファイルを保存してください:)
cygwin を使用し、lsコマンドを他のすべてのUNIXコマンドラインツールと一緒に直接使用することもできます。
Cmdにls
のエイリアスとしてdir
を認識させるだけの場合は、doskey
コマンドを使用できます( スーパーユーザーのこの回答 から)。
これは、dirコマンドの元のコマンドラインパラメーター処理を変更しません。
私のために働いた別の解決策は、 nxUtils を使用することです。これは、実行可能ファイル(ls
、sed
、およびgrep
を含む)から複数のユーティリティーを追加します。
使用するには、download source code をダウンロードします。解凍します。 UnxUtils\usr\local\wbin
パスをWindows PATH変数に追加します。新しいCMDインスタンスを開始します。
次のレシピをお勧めします。
DOSKEY
および$*
を使用して、ls
コマンドを作成します。たとえば、コマンドは次のようになりますDOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
は、引数を取るコマンドに役立ちます。たとえば、ここではsublime my_code.c
を実行できるようにします。
Cmdのレジストリは、HKEY_CURRENT_USER-> Software-> Microsoft-> Command Processorにあります。 %USERPROFILE%\custom_command.cmd
などのファイル(含まれるフォルダーではない)のfullパスを使用して、AutoRunという名前の文字列値エントリを作成します。その後、cmdが実行されるたびに、コマンドがロードされます!
さらに便利なものをバッチファイルに追加することもできます。テンプレートの例については、 here をご覧ください。
このガイドに従うことができます: https://Gist.github.com/vladikoff/38307908088d58af206b
TL; DR:/K path/to/custom/init_cmd.bat
を「Shell startup」コマンドに渡します。
ConsoleZをシェルラッパーとして使用しているため、私の場合は「タブ」でセットアップオプションを見つけて、シェルパスを"C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
like this に設定します。
C:\cmd_init.bat
がマクロを含むバッチスクリプトである場合、次のようにします。
@echo off
doskey ls=dir /b
rem other macro stuff..
書式設定やその他のミスで申し訳ありませんが、ここで回答するのは初めてです。私はそれが役立つことを願っています!
Linux Subsystem for Windowsを使用する人は、Linux bashからls
を呼び出すことができます。次のコマンドは、System32でls
コマンドを作成します。
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(最初にLinuxサブシステム機能を有効化/インストールする必要があります)
確かに、lsはバッチのUNIXコマンドとしては機能しません。 -lまたは-aなどとそれらのすべての組み合わせについて%1をチェックすると、動作します...