Beberapa jawabannya cukup menarik, tapi apa sebenarnya yang salah dengan perintah 'dir'?
Matt Donnan
3
@MattDonnan Saya hanya terbiasa ls dan saya membuat wajah lucu ketika saya membuatnya di windows. Tidak lagi ^^
aF.
1
@DavidHeffernan karena tidak ada di windows?
aF.
1
Tentu saja. Aku menggunakannya setiap hari.
David Heffernan
1
@tokopedia Saya menggunakan Windows 7, tetapi saya menjalankan ls pada versi Windows apa pun. Saya tidak mengatakan bahwa Windows hadir dengan ls, hanya saja itu open source, dan memiliki port Windows yang bagus, itu sepele untuk menjalankannya di Windows. Lihat GnuWin32.
David Heffernan
Jawaban:
117
Anda bisa:
membuat file batch yang dipanggil ls.batdan berisi dirperintah saja
tambahkan direktori tempat ls.batfile tersebut berada ke PATHvariabel lingkungan Anda
Anda kemudian dapat mengeksekusi lsdari command prompt.
Saya berharap saya dapat menilai ini lebih dari sekali. Bekerja dengan luar biasa.
MrHappyAsthma
4
Ini lebih baik karena Anda masih bisa menggunakan opsi dir.
ajon
17
Saya akan merekomendasikan menggunakan dir %*sebagai gantinya untuk mengizinkan sejumlah argumen baris perintah untuk diteruskan ke dir melalui ls.bat. Jika tidak, dir %1paling banyak menggunakan , Anda hanya dapat menggunakan satu argumen saat menggunakan skrip ls.
Adaline Simonian
2
@Vartan sayang sekali bahwa komentar Anda adalah yang pertama di bawah ambang batas "tampilkan lebih banyak". Semoga @secghost melihat ini dan mengubah jawaban mereka suatu hari nanti. Saya ingin menambahkan bahwa melakukan @dir %*juga akan menghapus baris tambahan sehingga lebih identik dengandir
Captain Man
1
@CaptainMan Oh, ya! Benar-benar lupa tentang @; sintaks yang bagus untuk digunakan untuk menghindari kekacauan output. Padahal, akan jauh lebih mudah jika Windows sesuai dengan POSIX. Setidaknya kita bisa bermimpi.
Saran bagus yang memberikan akses ke fungsionalitas penuh lsdan 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
phil
Ya, atau mulai saja bash.exe di folder git (bukan cmd) dan nikmati ~ shell lengkap (dengan ls).
Johan
git bash mengerikan, saya suka opsi jalur
mengabaikan
16
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).
solusi terbaik yang pernah ada untuk pengguna linux di windows , npm install cash-global -g. Akan sangat bagus untuk ditambahkan ls -lsebagai ll(LL) juga.
pengguna2925656
Ini adalah pasangan penyelamat
HebleV
6
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.exebukanlah program terpisah, jadi ini tidak benar-benar berfungsi. Tapi mklinkdan cygwin adalah hal yang baik untuk diketahui.
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:
Anda juga dapat menggunakan cygwin dan hanya menggunakan perintah ls secara langsung bersama dengan semua alat baris perintah unix lainnya yang mungkin biasa Anda gunakan.
Gunakan DOSKEYdan $*untuk membuat lsperintah Anda .
Buat perintah tetap ada dengan merekamnya dalam file .bat / .cmd dan tambahkan jalur file ke registri.
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\wbinjalur 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 ...
TL; DR : berikan /K path/to/custom/init_cmd.batke 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.batskrip 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!
Jawaban:
Anda bisa:
ls.bat
dan berisidir
perintah sajals.bat
file tersebut berada kePATH
variabel lingkungan AndaAnda kemudian dapat mengeksekusi
ls
dari command prompt.sumber
ls dir
? Saya pikir Anda perlu memodifikasils.bat
to handle args ... atau Anda dapat mencoba alias: superuser.com/questions/49170/create-an-alias-in-windows-xpAnda dapat menyelesaikan pertanyaan ini dengan satu perintah sederhana:
Pastikan Anda menjalankan
cmd.exe
sebagai admin terlebih dahulu jika Anda menggunakan vista dan lebih tinggisumber
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!
sumber
ls *
dandir *
jangan lakukan hal yang sama, jadi aliasing dir agak sedikit.C:\Program Files (x86)\GnuWin32\bin
ke jalur AndaCara termudah yang saya temukan adalah:
bin
direktori Git ke variabel Path Anda. Milik saya terletak diC:\Program Files\Git\usr\bin
.ls
semua kemuliaannya.sumber
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 \ binSaya 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
sumber
Jika Anda menginstal Node.js di sistem Anda, Anda dapat menginstalnya dari Cash , pustaka yang saya tulis untuk perintah Linux di Windows:
sumber
npm install cash-global -g
. Akan sangat bagus untuk ditambahkanls -l
sebagaill
(LL) juga.Prompt perintah Windows untuk Vista / 7 akan mengizinkan tautan simbolik NTFS, jalankan cmd.exe sebagai administrator kemudian:
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. Tapimklink
dan cygwin adalah hal yang baik untuk diketahui.sumber
+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:
Tautan Pengguna Super 1
Tautan Pengguna Super 2
sumber
Jika Anda hanya ingin agar cmd dikenali
ls
sebagai aliasdir
, Anda dapat menggunakandoskey
perintah (dari jawaban ini di superuser ).Ini tidak mengubah penanganan parameter baris perintah asli dari perintah dir.
sumber
Anda juga dapat menggunakan cygwin dan hanya menggunakan perintah ls secara langsung bersama dengan semua alat baris perintah unix lainnya yang mungkin biasa Anda gunakan.
sumber
pantatku ada di bawah
yang dapat mentransfer argumen klien
letakkan di% windir% atau direktori manapun di variabel% PATH% Anda.
Pastikan Anda menyimpan file dengan pengkodean ANSI :)
sumber
Saya merekomendasikan resep berikut.
DOSKEY
dan$*
untuk membuatls
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 melakukansublime 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.
sumber
Solusi lain yang bekerja untuk saya adalah untuk penggunaan UnxUtils , yang menambahkan beberapa utilitas dari file executable (termasuk
ls
,sed
, dangrep
).Untuk menggunakan: unduh kode sumber . Buka zip. Tambahkan
UnxUtils\usr\local\wbin
jalur ke variabel PATH Windows. Mulai instance CMD baru.sumber
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 ...
sumber
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:Maaf atas format dan kesalahan lainnya, ini pertama kalinya saya menjawab disini. Saya harap ini membantu!
sumber
Seseorang yang menggunakan Subsistem Linux untuk Windows dapat memanggil
ls
dari bash Linux. Perintah berikut membuatls
Perintah di System32:(Fitur Linux Subsystem harus diaktifkan / diinstal terlebih dahulu)
sumber
Ini adalah kode sumber dan biner C # saya .
Cukup tambahkan ls.exe di suatu tempat dan tambahkan jalur ke variabel lingkungan jalur.
sumber