Windowsコマンドプロンプトでlsを作成する方法


114

Windowsコマンドプロンプトでlsを使用して、dirコマンドを実行したいのですが。

どうやってやるの?


4
いくつかの回答は非常に興味深いですが、「dir」コマンドの何が問題になっていますか?
マット・ドナン

3
@MattDonnan私はlsに慣れているだけで、窓で作ると面白い顔になります。もうありません^^
aF。

1
@DavidHeffernanはウィンドウに存在しないためですか?
aF。

1
もちろんです。毎日使っています。
David Heffernan 2013年

1
@aF。私はWindows 7を使用していますが、どのWindowsバージョンでもlsを実行しています。Windowsにlsが付属していると言っているのではなく、それがオープンソースであり、優れたWindowsポートを持っているというだけで、Windowsで実行するのは簡単です。GnuWin32を見てください。
David Heffernan 2013年

回答:


117

あなたは出来る:

  • というバッチファイルを作成しls.batdirコマンドのみを含めます。
  • ls.batファイルが存在するディレクトリをPATH環境変数に追加します

その後ls、コマンドプロンプトから実行できます。


8
ls.batをsystem32フォルダーに入れて、PATHを追加する必要がない理由
David天宇Wong

2
@David天宇ウォン、ユーザーがそのフォルダーへの書き込みアクセス権を持っていない可能性が高いです。
hmjd 2013年

2
args:と一緒に使用すると、これはまだ機能しますls dirか?ls.bat引数を処理するためにを変更する必要があると思います...またはエイリアスを試すことができます:superuser.com/questions/49170/create-an-alias-in-windows-xp
nicorellius

私は好きです:@echo off \ ndir / w%1%でls形式に近づきます
mrcrowl

すばらしい答えです。これについてコメントすることはできません;-)
Bamboomy

247

この質問は、1つの簡単なコマンドで解決できます。

echo @dir %* > %systemroot%\system32\ls.bat

cmd.exeVista以降の場合は、最初に管理者として実行してください。


14
これを2回以上評価できたらと思います。驚異的に働いた。
MrHappyAsthma 2013年

4
dirオプションを引き続き使用できるため、これはより良い方法です。
ajon 2013年

17
私が使用してお勧めしたいdir %*ls.batを通じてディレクトリに渡されるコマンドライン引数の任意の数を可能にする代わりに。それ以外の場合、を使用dir %1して、lsスクリプトを使用する場合、使用できる引数は1つだけです。
Adaline Simonian、2015年

2
@Vartanコメントが「もっと見る」のしきい値を下回るのが最初であることは残念です。うまくいけば、@ secghostがこれを見て、いつか答えを修正するでしょう。追加@dir %*すると、余分な行も削除されるので、これはさらに同じですdir
キャプテンマン

1
@CaptainManああ、そうです!完全に忘れていました@。出力の混乱を避けるために使用する構文の気の利いたビット。ただし、WindowsがPOSIXに準拠していれば、はるかに簡単です。少なくとも夢を見ることができます。
Adaline Simonian 2015年

36

それは古い質問ですが、記録のために:

http://gnuwin32.sourceforge.net/packages/coreutils.htm

あなたにlsともっとたくさんを与えます!


7
+1 ls *dir *同じことはしないので、エイリアスdirは少しズボンです。
ピートKirkham

2
これが最良の答えです。投票を無視してこれを行います。
痴呆ハリネズミ

C:\Program Files (x86)\GnuWin32\binパスに追加することを忘れないでください
omikes

18

私が見つけた最も簡単な方法は:

  1. Git for Windowsをインストールする
  2. binGit のディレクトリをパス変数に追加します。鉱山はにありましたC:\Program Files\Git\usr\bin
  3. コマンドプロンプトを起動して、lsその栄光のすべてをお楽しみください。

3
lsオプションの引数のすべての機能へのアクセスを提供する素晴らしい提案。わずかな更新で、最新バージョンのgit for windowsをインストールしました。ls.exeはC:\ Program Files \ Git \ usr \ bin
phil

はい、またはgitフォルダーで(cmdの代わりに)bash.exeを起動して、〜lsで完全なシェルを楽しんでください。
ヨハン

gitのbashは恐ろしいですが、私はパスオプションのように
omikes

16

私には解決策がありますが、それは汚いです:

「dir」のみを含むls.batという名前のファイルを作成します。

C:\ windows \ system32(またはPATH env var内の任意のディレクトリ)に配置します。

それは(うまくいくはずです)うまくいきます!

編集:より一貫性のあるもの:https : //superuser.com/questions/49170/create-an-alias-in-windows-xp


9

あなたが持っている場合のNode.jsは、システムにインストールされ、あなたがからそれをインストールすることができます現金、私はWindows上でLinuxのコマンドのために書いたライブラリー:

npm install cash-ls -g

WindowsのLinuxユーザーにとってこれまでで最高のソリューション npm install cash-global -g。(LL)ls -lとしてllも追加できると便利です。
user2925656 2017年

その救世主
HebleV

6

Vista / 7のWindowsコマンドプロンプトはNTFSシンボリックリンクを許可し、管理者としてcmd.exeを実行します。

mklink ls %System%\dir.exe

次に、作成したリンクの場所を含めるようにPATH環境変数を設定します。

'ls'コマンドだけでなく、それ以上の機能が必要な場合は、cygwinを調べてください。

編集-実現したばかりdir.exeは別のプログラムではないため、これは実際には機能しません。しかしmklink、cygwinは知っておくと良いことです。


+1、私はそれがWindows XPであると言うのを忘れていましたが、それはWindows Vista / 7に適しています:)
aF。

4

上記の投稿を+1して、Windows用のgitをインストールし、パス変数にディレクトリbinを追加することを提案しています。

Windows 8およびWindows 7マシンのcmd.exeでtouch、ls、および他の多くのUNIXコマンドを使用する別の方法。

Cygwinをインストールするには、次のサイトにアクセスしてください

https://www.cygwin.com/install.html

システムに32または64ビットバージョンをインストールします。デフォルトの設定とパッケージには必要なものが含まれているため、パッケージ画面にアクセスした後は何も変更する必要はありません。

インストール後、Cygwinフォルダーのパスを環境パス変数にコピーします。例えば; C:\ Cygwinにcygwinをインストールした場合は、環境のシステムパス変数に以下を追加します。

; C:\ Cygwin \ bin

私のシステムでは64ビットバージョンをインストールし、デフォルトのフォルダー名とパスはC:\ cygwin64でした。だから私は私のシステム環境パス変数に以下を追加しました:

; C:\ cygwin64 \ bin

端末が開いている場合は再起動します。次にlsと入力すると、ディレクトリリストが表示されます。

PATH環境変数の設定に慣れていない場合は、以下を参照してください。

スーパーユーザーリンク1

スーパーユーザーリンク2



3

また、cygwinを使用して、慣れている可能性のある他のすべてのunixコマンドラインツールと共にlsコマンドを直接使用することもできます。


3

私のls.batは下にありました

@dir %*

cli argsを転送できる

ls /b
ls /w

%windir%または%PATH%変数の任意のディレクトリに配置します。

ANSIエンコーディングでファイルを保存してください:)


2

以下のレシピをお勧めします。

  1. 使用DOSKEYして$*、あなたの作成するlsコマンドを。
  2. コマンドを.bat / .cmdファイルに記録して永続化し、ファイルのパスをレジストリに追加します。

たとえば、コマンドは
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にあります。次のようなファイルの完全パス(含まれているフォルダではない)を使用して、AutoRunという文字列値のエントリを作成します。%USERPROFILE%\custom_command.cmd。その後、cmdが実行されるたびに、コマンドがロードされます!

バッチファイルにさらに便利なものを追加することもできます。テンプレートの例については、こちらをご覧ください。


2

私のために働いていた別の解決策は、使用しているUnxUtils(を含む実行可能ファイルから複数のユーティリティを追加し、lssed、およびgrep)。

使用するには、次のダウンロードソースコードを。解凍します。UnxUtils\usr\local\wbinWindowsのPATH変数にパスを追加します。新しいCMDインスタンスを開始します。


0

確かに、lsはバッチのUNIXコマンドとしては機能しません。%1で-lや-aなど、およびそれらのすべての組み合わせをチェックすると、うまくいきます...


0

あなたはこのガイドに従うことができます:https//gist.github.com/vladikoff/38307908088d58af206b

TL; DR/K path/to/custom/init_cmd.bat「シェルスタートアップ」コマンドに渡します。

私は私の場合、私は「タブ」でのセットアップオプションを見つけることができ、私のシェルラッパーとしてConsoleZを使用していますし、私はにシェルのパスを設定し"C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat"" 、このような

C:\cmd_init.bat私のマクロを含むバッチスクリプトはどこにありますか?

@echo off

doskey ls=dir /b
rem other macro stuff..

書式設定やその他の間違いをお詫びします。ここで初めて答えます。お役に立てば幸いです。


0

Windows用のLinuxサブシステムを使用している人はls、Linux bashから電話をかけることができます。次のコマンドは、lsSystem32でコマンドを作成します。

echo @bash -c "ls %*" > %systemroot%\system32\ls.bat

(Linuxサブシステム機能を最初に有効化/インストールする必要があります)


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