วิธีค้นหาไฟล์แบบง่ายๆใน cmd


131

ฉันต้องการค้นหาไฟล์ที่ระบุชื่อหรือส่วนหนึ่งของชื่ออย่างรวดเร็วจากบรรทัดคำสั่งของ windows (ไม่ใช่พาวเวอร์เชลล์) ซึ่งคล้ายกับการเปิด explorer และใช้ช่องค้นหาที่ด้านบน

หมายเหตุ: dirสามารถค้นหาตามแม่แบบสตริง แต่จะไม่ค้นหาในไดเรกทอรีย่อย

Note2: findstrสามารถใช้เพื่อค้นหาโทเค็นภายในไฟล์และมีแฟล็กการเรียกซ้ำ เป็นเรื่องตลกที่การค้นหาที่ซับซ้อนกว่านี้สามารถค้นพบได้ง่าย ...


คำตอบ:


175

dir /s *foo* ค้นหาในโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อย

พบไดเรกทอรีเช่นเดียวกับไฟล์

โดยที่ / s หมายถึง(เอกสารประกอบ) :

/ s แสดงทุกรายการที่เกิดขึ้นของชื่อไฟล์ที่ระบุภายในไดเร็กทอรีที่ระบุและไดเร็กทอรีย่อยทั้งหมด


ฉันมีคำถามอื่นจะคัดลอกเอกสารที่พบเหล่านี้ไปยังโฟลเดอร์อื่นได้อย่างไร ขอบคุณมาก
Hong Cheng

@HongCheng คุณสามารถใช้สัญลักษณ์แทนกับXcopyหลังจากตรวจสอบผลลัพธ์ด้วยDIRคำสั่งด้านบนโดยใช้เหมือนกับxcopy *foo* c:\Tempการค้นหา*foo*ไฟล์ทั้งหมดและคัดลอกในc:\Tempไดเรกทอรี
Vinod Srivastav

128
dir /b/s *.txt  

ค้นหาไฟล์ txt ทั้งหมดในแผนผังไดเร็กทอรี ก่อนที่จะใช้เพียงแค่เปลี่ยนไดเร็กทอรีเป็นรูทโดยใช้

cd/

คุณยังสามารถส่งออกรายการไปยังไฟล์ข้อความโดยใช้

dir /b/s *.exe >> filelist.txt

และค้นหาภายในโดยใช้

type filelist.txt | find /n "filename"

แก้ไข 1: แม้ว่าคำสั่งdirนี้จะใช้งานได้ตั้งแต่วันเก่า ๆ แต่ Win7 ได้เพิ่มสิ่งใหม่ที่เรียกว่าWhere

where /r c:\Windows *.exe *.dll

จะค้นหาexe & dllในไดรฟ์c: \ Windowsตามที่แนะนำโดย @SPottuit คุณยังสามารถคัดลอกผลลัพธ์ไปยังคลิปบอร์ดด้วย

where /r c:\Windows *.exe |clip

เพียงรอให้พร้อมท์กลับและอย่าคัดลอกอะไรจนกว่าจะถึงเวลานั้น

แก้ไข 2: หากคุณค้นหาแบบวนซ้ำและผลลัพธ์มีขนาดใหญ่คุณสามารถใช้moreเพื่อเปิดใช้งานเพจได้ตลอดเวลาจะแสดง-- More --ที่ด้านล่างและจะเลื่อนไปที่หน้าถัดไปเมื่อคุณกดSPACEหรือเลื่อนทีละบรรทัดเมื่อกดENTER

where /r c:\Windows *.exe |more

หากต้องการความช่วยเหลือเพิ่มเติมโปรดลอง

where/?

5
คุณยังสามารถส่งออกรายการไปยังคลิปบอร์ดของคุณได้โดยแทนที่>> filelist.txtด้วย| clipไฟล์. ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ | คลิป .
Sjoerd Pottuit

6
โดยการเพิ่ม/bไว้ข้างหลังdirเฉพาะชื่อไฟล์หรือพา ธ ไฟล์ (หากค้นหาในหลายโฟลเดอร์) จะถูกส่งกลับ ( bคือรูปแบบ) และไม่มีรายละเอียดของไฟล์และโฟลเดอร์ โดยการเพิ่ม/sที่อยู่เบื้องหลังs UB-ไดเรกทอรีก็จะได้รับการสืบค้น ข้อมูลเพิ่มเติมเกี่ยวกับ dir คำสั่ง dir
Sjoerd Pottuit

ไม่รู้ว่าทำไมถึงไม่เป็นคำตอบที่ยอมรับ ประกอบด้วยทุกสิ่งที่มีและอื่น ๆ อีกมากมาย ขอบคุณสำหรับการโพสต์สิ่งนี้ หวังว่าฉันจะโหวตได้มากกว่าหนึ่งครั้ง!
Avrohom Yisroel

1
ใคร ๆ ก็คาดหวังว่าจะมีเพียง cd \ หรือ cd \ เท่านั้นที่จะเปลี่ยนเป็นไดเรกทอรีราก แต่ดูเหมือนว่า cd / จะทำงานบน Windows 10 ได้เช่นกัน - ไม่แน่ใจว่าเวอร์ชัน DOS / Windows เป็นจริงหรือไม่
George Birbilis

1
@ Vinod Srivastav น่ารักมาก อธิบายสถานการณ์ที่เป็นไปได้ทั้งหมด
Klanto Aguntuk


0

ปัญหาเกี่ยวกับ DIR คือจะส่งคืนคำตอบที่ผิด หากคุณกำลังมองหา DOC ในโฟลเดอร์โดยการใช้งานDIR *.DOCจะให้DOCXแก่คุณด้วย การค้นหา*.HTMจะให้HTMLและอื่น ๆ ...


2
นั่นเป็นเหตุผลที่ควรใช้สถานที่เป็นWhere /R c:\ *.DOC *.HTMเพื่อวัตถุประสงค์
Vinod Srivastav

Vinod Srivastav. ฉันลองแล้วและว้าวงานนี้มหัศจรรย์ :) ฉันจะใช้สิ่งนี้กับแบทช์ของฉัน
Hobbe Lundahl

0

คุณสามารถค้นหาใน windows โดย DOS และ explorer GUI

DOS:

1) DIR

2) ICACLS (ค้นหาไฟล์และโฟลเดอร์เพื่อตั้งค่า ACL)

3) cacls ............................................... ...

2) ตัวอย่าง

icacls c: * ntoskrnl *. * / ระบบให้สิทธิ์: (f) / c / t จากนั้นใช้ PMON จาก sysinternals เพื่อตรวจสอบว่าโฟลเดอร์ใดถูกปฏิเสธการเข้าถึง ผลลัพธ์ประกอบด้วย

เส้นทางการเข้าถึงประกอบด้วยไดรฟ์ของคุณ

ชื่อกระบวนการคือ explorer.exe

นั่นคือตัวกรองที่คุณต้องใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.