windows - 不是內部或外部命令可執行的程式或批次檔 - 命令提示字元執行程式




如何在Windows命令提示符下創建ls? (11)

Vista / 7的Windows命令提示符將允許NTFS符號鏈接,以管理員身份運行cmd.exe,然後:

mklink ls %System%\dir.exe

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

如果你想要的不僅僅是'ls'命令,你應該看看cygwin

編輯 - 剛剛意識到dir.exe不是一個單獨的程序,所以這並沒有真正的工作。 mklink和cygwin是需要了解的好東西。

我想在Windows命令提示符下使用ls,並使其運行dir命令。

我怎樣才能做到這一點?


上面的帖子中的+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 \倉

如果終端打開,請重新啟動它。 然後鍵入ls,你會看到一個目錄列表。

如果您不熟悉設置PATH環境變量,請參閱以下內容:

超級用戶鏈接1

超級用戶鏈接2


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

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

如果你在Vista和以上,請確保你先運行cmd.exe作為管理員


你可以:

  • 創建一個名為ls.bat的批處理文件,並僅包含dir命令
  • ls.bat文件所在的目錄添加到PATH環境變量中

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


如果你的系統上安裝了Node.js ,你可以從Cash安裝它,這是我在Windows上為Linux命令編寫的一個庫:

npm install cash-ls -g

如果您只想讓cmd將ls識別為dir的別名,則可以使用doskey命令(從超級用戶的此答復中 )。

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


我推薦以下配方。

  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。 用%USERPROFILE%\custom_command.cmd文件的完整路徑(不是包含的文件夾)創建名為AutoRun的字符串值條目。 然後每次運行cmd,你的命令都會被加載!

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



我的ls.bat在下面

@dir %*

這可以轉移氣候參數

ls /b
ls /w

將其放入%windir%或%PATH%變量中的任何目錄。

只要確保用ANSI編碼保存文件:)


當然,ls不會作為批處理的unix命令。 如果你檢查%1的-l或者-a等等以及它們的所有組合,它就會工作......








dir