Saya ingin menggunakan ls di command prompt windows dan membuatnya menjalankan perintah dir.
Bagaimana saya bisa melakukan itu?
Saya ingin menggunakan ls di command prompt windows dan membuatnya menjalankan perintah dir.
Bagaimana saya bisa melakukan itu?
Jawaban:
Anda bisa:
ls.bat
dan berisi dir
perintah sajals.bat
file tersebut berada ke PATH
variabel lingkungan AndaAnda kemudian dapat mengeksekusi ls
dari command prompt.
ls dir
? Saya pikir Anda perlu memodifikasi ls.bat
to handle args ... atau Anda dapat mencoba alias: superuser.com/questions/49170/create-an-alias-in-windows-xp
Anda dapat menyelesaikan pertanyaan ini dengan satu perintah sederhana:
echo @dir %* > %systemroot%\system32\ls.bat
Pastikan Anda menjalankan cmd.exe
sebagai admin terlebih dahulu jika Anda menggunakan vista dan lebih tinggi
dir %*
sebagai gantinya untuk mengizinkan sejumlah argumen baris perintah untuk diteruskan ke dir melalui ls.bat. Jika tidak, dir %1
paling banyak menggunakan , Anda hanya dapat menggunakan satu argumen saat menggunakan skrip ls.
@dir %*
juga akan menghapus baris tambahan sehingga lebih identik dengandir
@
; sintaks yang bagus untuk digunakan untuk menghindari kekacauan output. Padahal, akan jauh lebih mudah jika Windows sesuai dengan POSIX. Setidaknya kita bisa bermimpi.
Ini pertanyaan lama tapi sebagai catatan:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
Memberi Anda ls dan banyak lagi!
ls *
dan dir *
jangan lakukan hal yang sama, jadi aliasing dir agak sedikit.
C:\Program Files (x86)\GnuWin32\bin
ke jalur Anda
Cara termudah yang saya temukan adalah:
bin
direktori Git ke variabel Path Anda. Milik saya terletak di C:\Program Files\Git\usr\bin
.ls
semua kemuliaannya.ls
dan semua argumen opsionalnya. Hanya sedikit pembaruan, saya telah menginstal versi terbaru git untuk windows dan ls.exe sekarang dapat ditemukan di C: \ Program Files \ Git \ usr \ bin
Saya punya solusi tetapi kotor:
Buat file bernama ls.bat yang hanya berisi "dir".
Taruh di C: \ windows \ system32 (atau direktori apa pun di PATH env var).
Itu (harus) berhasil!
Sunting: Sesuatu yang lebih konsisten: /superuser/49170/create-an-alias-in-windows-xp
Jika Anda menginstal Node.js di sistem Anda, Anda dapat menginstalnya dari Cash , pustaka yang saya tulis untuk perintah Linux di Windows:
npm install cash-ls -g
npm install cash-global -g
. Akan sangat bagus untuk ditambahkan ls -l
sebagai ll
(LL) juga.
Prompt perintah Windows untuk Vista / 7 akan mengizinkan tautan simbolik NTFS, jalankan cmd.exe sebagai administrator kemudian:
mklink ls %System%\dir.exe
Kemudian atur variabel lingkungan PATH Anda untuk menyertakan lokasi tautan yang baru saja Anda buat.
Jika Anda menginginkan lebih dari sekedar perintah 'ls', Anda harus melihat cygwin .
EDIT- Baru saja disadari dir.exe
bukanlah program terpisah, jadi ini tidak benar-benar berfungsi. Tapi mklink
dan cygwin adalah hal yang baik untuk diketahui.
+1 pada posting di atas menyarankan untuk menginstal git untuk windows dan menambahkan bin direktori ke variabel jalur Anda.
Cara lain saya mendapat sentuhan, ls, dan banyak perintah UNIX lainnya yang bekerja di cmd.exe pada mesin Windows 8 dan Windows 7 saya.
Buka situs berikut untuk menginstal Cygwin
https://www.cygwin.com/install.html
Instal versi 32 atau 64 bit untuk sistem Anda. Pengaturan dan paket default harus menyertakan apa yang Anda butuhkan sehingga Anda tidak perlu mengubah apa pun setelah Anda masuk ke layar paket.
Setelah instalasi, salin jalur folder Cygwin ke variabel jalur lingkungan Anda. Sebagai contoh; jika Anda menginstal cygwin ke C: \ Cygwin, Anda akan menambahkan yang berikut ini ke variabel jalur sistem lingkungan Anda:
; C: \ Cygwin \ bin
Di sistem saya, saya menginstal versi 64bit dan nama folder dan jalur default adalah C: \ cygwin64. Jadi saya menambahkan yang berikut ini ke variabel jalur lingkungan sistem saya:
; C: \ cygwin64 \ bin
Mulai ulang terminal Anda jika terbuka. Kemudian ketik ls dan Anda akan melihat daftar direktori.
Lihat berikut ini jika Anda tidak terbiasa dengan pengaturan variabel lingkungan PATH:
Jika Anda hanya ingin agar cmd dikenali ls
sebagai alias dir
, Anda dapat menggunakan doskey
perintah (dari jawaban ini di superuser ).
Ini tidak mengubah penanganan parameter baris perintah asli dari perintah dir.
Saya merekomendasikan resep berikut.
DOSKEY
dan $*
untuk membuat ls
perintah Anda .Misalnya, perintah Anda mungkin terlihat
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
berguna untuk perintah yang menggunakan argumen. Misalnya, di sini saya ingin bisa melakukan sublime my_code.c
.
Registri untuk cmd ada di HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Buat entri bernilai string yang disebut AutoRun dengan jalur lengkap file (bukan folder yang berisi) seperti %USERPROFILE%\custom_command.cmd
. Kemudian setiap kali cmd dijalankan, perintah Anda akan dimuat!
Anda juga dapat menambahkan lebih banyak barang berguna ke file batch. Lihat di sini untuk contoh template.
Solusi lain yang bekerja untuk saya adalah untuk penggunaan UnxUtils , yang menambahkan beberapa utilitas dari file executable (termasuk ls
, sed
, dan grep
).
Untuk menggunakan: unduh kode sumber . Buka zip. Tambahkan UnxUtils\usr\local\wbin
jalur ke variabel PATH Windows. Mulai instance CMD baru.
Tentunya ls tidak akan berfungsi sebagai perintah unix untuk batch. Jika Anda mencentang% 1 untuk -l atau -a dll. Dan semua kombinasinya, ini akan berhasil ...
Anda dapat mengikuti panduan ini: https://gist.github.com/vladikoff/38307908088d58af206b
TL; DR : berikan /K path/to/custom/init_cmd.bat
ke perintah "shell startup".
Saya menggunakan ConsoleZ sebagai pembungkus shell, jadi dalam kasus saya, saya dapat menemukan opsi pengaturan di "tab", lalu saya menyetel jalur shell menjadi "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
seperti ini .
Di mana C:\cmd_init.bat
skrip batch yang berisi makro saya, inilah yang akan saya lakukan:
@echo off
doskey ls=dir /b
rem other macro stuff..
Maaf atas format dan kesalahan lainnya, ini pertama kalinya saya menjawab disini. Saya harap ini membantu!
Seseorang yang menggunakan Subsistem Linux untuk Windows dapat memanggil ls
dari bash Linux. Perintah berikut membuat ls
Perintah di System32:
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(Fitur Linux Subsystem harus diaktifkan / diinstal terlebih dahulu)
Ini adalah kode sumber dan biner C # saya .
Cukup tambahkan ls.exe di suatu tempat dan tambahkan jalur ke variabel lingkungan jalur.