2012-02-20 119 views
92

我想在Windows使用ls命令提示符並使其運行dir命令。如何在windows命令提示符下創建ls?

我該怎麼做?

+4

一些答案很有趣,但'dir'命令究竟有什麼錯誤? – 2012-02-20 14:45:27

+3

@MattDonnan我只是用LS和我做一個有趣的* *的臉,當我把它放在窗口。現在不再^^ – 2012-02-20 14:52:00

+0

@aF如果你想要ls,爲什麼你不使用真正的ls? – 2013-10-25 10:17:08

回答

97

,你可以:

  • 創建一個名爲ls.bat一個批處理文件,並將它包含dir命令只
  • 添加的目錄,其中ls.bat文件存在於您的PATH環境變量

你然後可以從命令提示符執行ls

+1

+1。這就是我使用的答案:) – 2012-02-20 14:38:31

+7

爲什麼不把ls.bat放到system32文件夾中,所以你不必添加PATH – 2013-06-25 08:03:35

+1

@David天宇Wong,用戶很可能沒有對該文件夾的寫入權限。 – hmjd 2013-06-25 08:08:33

15

我有一個解決方案,但它的骯髒:

創建一個名爲ls.bat只包含「目錄」的文件。

把它放在C:\ Windows \ System32下(或在PATH的環境變量的任何目錄)。

那(應該)的作品!

編輯:更多的東西是一致的:https://superuser.com/questions/49170/create-an-alias-in-windows-xp

+3

+1它真的有效:) – 2012-02-20 14:37:51

6

的Windows命令提示符VISTA/7將允許NTFS符號鏈接,然後運行CMD.EXE作爲管理員:

mklink ls %System%\dir.exe 

然後設置PATH環境變量以包含您剛創建的鏈接的位置。

如果你想的不僅僅是「LS」命令的更多,你應該看看cygwin

編輯 - 剛剛實現dir.exe不是一個單獨的程序,所以這不起作用。但是mklink和cygwin是需要了解的好東西。

+0

+1,我忘了說這是Windows XP的,但這是很好的Windows Vista/7 :) – 2012-02-20 14:38:18

3

如果你只是想有CMD承認ls的別名,dir,你可以使用doskey命令(this answer on superuser)。

這不會改變dir命令的原始命令行參數處理。

+0

+1。它不保存但很好知道。 – 2012-02-20 14:37:38

3

你也可以使用cygwin,只是使用ls直接與您可以用於所有其他的UNIX命令行工具一起指揮。

176

可以解決一個簡單的命令這個問題:

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

確保運行cmd.exe作爲管理員首先,如果你是在Vista和高達

+10

我希望我能不止一次地評價。奇妙地工作。 – MrHappyAsthma 2013-05-14 13:13:52

+12

+1誰不愛單行? – Doodad 2013-08-18 02:35:45

+4

這比較好,因爲您仍然可以使用dir選項。 – ajon 2013-11-12 00:03:19

31

一個老問題,但備案:

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

給你ls和更多!

+6

+1'ls *'和'dir *'不要做同樣的事情,所以別名dir有點褲子。 – 2013-05-13 15:39:37

+2

這是最好的答案。這個。 – 2014-05-22 02:26:52

+0

你可以從https://u-tools.com/msls.asp獲取ls。 – wardk 2014-08-24 08:42:05

3

我ls.bat低於

@dir %* 

,可以在您%PATH%變量傳遞CLI ARGS

ls /b 
ls /w 

把它在%WINDIR%或任何目錄。

只要確保你保存使用ANSI編碼的文件:

0

當然LS不會作爲批次UNIX命令工作。如果您檢查%1的-l或-a等及其所有組合,它將起作用...

1

我推薦以下配方。

  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,你的命令都會被加載!

您也可以將更多有用的東西添加到批處理文件中。有關示例模板,請參閱here。我發現

11

最簡單方法是:

  1. 安裝Git for Windows
  2. 添加bin目錄的Git到PATH環境變量。礦區位於C:\Program Files\Git\usr\bin
  3. 啓動命令提示符並享受其所有榮耀ls
+1

偉大的建議,可以訪問'ls'的全部功能以及它的所有可選參數。只需稍微更新,我已經安裝了最新版本的git for windows和_ls.exe_現在可以在C:\ Program Files \ Git \ ** usr ** \ bin中找到 – pip 2016-11-24 06:21:12

+0

感謝您的更新@pip。 – varagrawal 2017-01-25 21:05:22

+0

是的,或者只是在git中啓動bash.exe F年齡較大(而不是cmd),並享受一個〜完整的殼(與ls)。 – Johan 2017-10-31 11:08:33

3

上述帖子中的+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環境變量:

Superuser Link 1

Superuser Link 2

8

如果您Node.js安裝在系統上,你可以從Cash,出庫安裝我在Windows上爲Linux命令寫道:

npm install cash-ls -g 
+0

有史以來最好的解決方案,Linux用戶在Windows上,'npm install cash-global -g'。將'ls -l'作爲'll'(LL)也是很好的選擇。 – user2925656 2017-03-14 07:31:50

+0

它的救世主夥伴 – HebleV 2017-05-16 20:40:32

-2

這是我的C# source code and binary

只需添加ls.exe地方和路徑添加到PATH環境變量。

+0

一個二進制是不必要的。只需使用符號鏈接或bat文件。 – 2017-07-20 15:12:57

0

你可以按照本指南: https://gist.github.com/vladikoff/38307908088d58af206b

TL; DR:通過/K path/to/custom/init_cmd.bat你的 「shell啓動」 命令。

我用ConsoleZ作爲我的外殼包裝,所以在我的情況,我可以找到「選項卡」的設置選項,然後我設置shell路徑"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.. 

對不起格式化和其他錯誤,這是我第一次在這裏回答。 我希望它有幫助!

0

爲我工作的另一種解決方案是使用UnxUtils,它增加了從可執行文件的多個實用工具(包括lssedgrep)。

使用方法:下載source code。解壓縮。在UnxUtils\usr\local\wbin路徑添加到Windows PATH變量。開始一個新的CMD實例。

相關問題