Menggunakan Windows CLI (cmd), bagaimana cara menemukan file yang ia tahu bagian dari nama? Sebagai contoh, setiap workstation Windows menginstal javac di lokasi yang berbeda, bagaimana orang menemukannya dari Windows CLI (cmd)?
Googling Saya melihat menyebutkan hanya menggunakan Windows Explorer (file manager) GUI atau mengunduh beberapa aplikasi freeware. Apakah Windows benar-benar tidak memiliki perintah loc built-in? Apakah edisi server memilikinya? Saya tidak ingin menginstal cygwin atau apa pun, ini biasanya bukan mesin saya.
windows
command-line
search
locate
dotancohen
sumber
sumber
javac
biasanya harus di tempat yang sama ...locate
danupdatedb
--per stackoverflow.com/questions/36841241/…Jawaban:
Anda harus dapat melakukan apa yang perlu Anda lakukan dengan
dir
:Ganti [nama file] dengan nama file yang Anda cari, Anda harus dapat menggunakan wildcard. / s membuatnya mencari sub-direktori jadi jika Anda perlu, Anda dapat mulai di root C: dan minta itu memeriksa seluruh drive.
sumber
javac
diinstal keC:\WINDOWS
...Tidak ada yang berbicara tentang perintah "di mana"? itu mencari file yang dapat dieksekusi di PATH lingkungan saat ini.
sumber
Windos memiliki jawaban paling langsung. Tetapi jika Anda menyukai baris perintah, Anda mungkin ingin melihat PowerShell juga. Untuk menyelesaikan jenis pencarian yang sama dengan yang Anda gunakan
Yang memiliki manfaat sampingan yang bagus karena dapat dipompa ke pernyataan foreach yang praktis dan menjalankan proses terhadap hasil pencarian.
sumber
gci
atauls
.cmd
, diPowerShell
Anda dapat menggunakan "Tab" untuk melihat saran, seperti di Linux. Jadi sebenarnya tidak banyak yang bisa diketik. Dan, dalam kasus saya,ls
di PowerShell tidak berfungsi.Saya hanya punya program cari untuk Windows . Anda hanya perlu mengikuti petunjuk baca saya dan salin file .dll dan .exe ke system32.
Alternatif termasuk menambahkan jalur program ke variabel lingkungan PATH.
Idenya adalah untuk mendapatkan lokasi di Windows jika Anda mencari sesuatu "seperti" lokasi. :)
sumber
locate
ada di komputer Win7 saya. Keluhan tentang database menjadi 435 hari, ketika intallasi tidak lebih dari 3 bulan. Danupdatedb
tidak termasuk.Pertanyaannya agak ambigu.
Anda ingin mencari file (dinyatakan dalam OP), tetapi Anda juga menginginkan perintah / aplikasi "temukan-tipe" (dinyatakan dalam judul). Ada satu pertimbangan halus dengan implikasi besar. Anda dapat menemukan dengan dua metode berbeda:
Mencari struktur pohon target langsung di setiap pencarian (lambat).
Pertama-tama membuat basis data struktur pohon target (mungkin memakan waktu), dan kemudian mencari dengan mencari basis data (sangat cepat). Basis data harus diperbarui secara berkala untuk mendapatkan hasil yang baik dalam pencarian. Lihat http://en.wikipedia.org/wiki/Locate_%28Unix%29 .
Unix
locate
adalah "tipe 2", tetapi sesuai tubuh OP Anda, Anda akan baik-baik saja dengan salah satu dari dua metode. Selain itu, Anda bertanya secara khusus tentang opsi CLI.Saya mencantumkan beberapa opsi di bawah ini, dan saya menentukan apakah itu CLI / GUI, tipe 1/2, dan saya menambahkan beberapa komentar.
http://locate32.cogit.net/ (sudah ditunjukkan oleh John T dan kemudian oleh Cheeku ). GUI, tipe 2. Ada versi portabel. Kemudahan penggunaan, dan konfigurabilitas yang luar biasa. Sangat mirip dengan Unix
locate
(yang sering saya gunakan dan sukai).Catatan : Menjadi terbiasa dengan Unix yang
Updatedb
membutuhkan waktu cukup lama untuk memperbarui database (tentu saja, itu tergantung pada ukuran pohon yang dipindai), saya menemukanlocate32
sangat cepat. Saya tidak tahu bagaimana itu bisa sangat ditingkatkan.http://sourceforge.net/projects/winlocate/ CLI, tipe 2.
dir [nama file] / s , solusi oleh Windos . CLI, tipe 1.
gci ... , solusi oleh OldWolf . CLI, tipe 1.
http://gnuwin32.sourceforge.net/packages/findutils.htm CLI, ketik 2.
Semuanya GUI, ketik?
sumber
Saya membuat port PowerShell untuk mencari dan memperbaruib. Menggunakan SQLite sebagai backend, dan memiliki penginstal otomatis. Hanya
menempatkan membutuhkan sekitar 300 ms / query.
Kemudian
dan Anda siap.
https://gallery.technet.microsoft.com/scriptcenter/Invoke-Locate-PowerShell-0aa2673a
sumber
Tidak perlu menginstal dengan tangan. Lihat http://chocolatey.org
Mulai ulang lingkungan shell
sumber
Saya tahu ini sudah dijawab lama, namun ini skrip saya untuk mensimulasikan fungsi loc yang digunakan di unix / linux
Simpan ini sebagai loc.bat dan letakkan di System32 ATAU jalankan dari direktori tempat penyimpanannya. Mengambil satu parameter seperti ini "cmd> cari javac.exe"
Switch temukan / c (sebagai parameter ke-2 akan menghitung jumlah instance) dan cari /? akan menampilkan teks bantuan
EDIT: (Script Diperbarui, lebih terorganisir dan dapat menangani berbagai situasi yang lebih luas, seperti memungkinkan istilah pencarian apa pun bukan hanya nama file)
sumber
Untuk ruang masa depan sejarawan Windows: kami telah diberkati dengan Pencarian Segalanya . Gambar dmenu + find + mlocate digulung menjadi, layanan Windows sedikit ketat dengan opsi cli. Kecuali hal ini memperbarui indeksnya secara real time . Tidak ada di Linux yang dekat. Ini akan menjadi salah satu dari beberapa kali Anda akan mengatakan "Wah saya berharap kernel sialan ini sedikit lebih Microsofty"
sumber
Jawaban singkatnya adalah tidak ada padanan yang pasti pada Windows . Solusinya adalah dengan menggunakan perintah dir . Ini adalah perintah daftar direktori yang mendukung karakter khusus, dan dapat digunakan sebagaimana ditunjukkan dalam jawaban yang diterima.
The Cari perintah pada banyak Unix seperti sistem adalah pencarian berdasarkan indeks. Ini bekerja bersama-sama dengan perintah Updatedb yang mengindeks sistem file. Karena ini adalah pencarian berbasis indeks, biasanya jauh lebih cepat daripada perintah pencarian berbasis teks seperti dir dan temukan di Unix, terutama ketika mencari hierarki direktori yang dalam.
sumber
where
sama persis.Saya tidak mengetahui adanya metode CLI untuk melakukan ini di Windows. Perlu diingat bahwa Windows CLI telah ditinggalkan oleh pengguna biasa, sehingga menawarkan seperangkat alat yang umumnya kurang matang. Taruhan terbaik Anda mungkin menggunakan gnu
find
di Windows, yang bisa Anda dapatkan dari GnuWin32 . Jika Anda mengembangkan skrip, Anda hanya perlu memasukkanfind.exe
dan ketergantungannya pada skrip (jangan khawatir, itu tidak terlalu besar).sumber