ฉันจะใช้ CMD เพื่อค้นหาไฟล์ใน windows ได้อย่างไร?


27

ฉันต้องการคำสั่งเพื่อค้นหาไฟล์ในไดเรกทอรีและไดเรกทอรีย่อยทั้งหมดใน windows โดยใช้บรรทัดคำสั่ง ฉันเห็นคำสั่งทั้งหมดที่มี แต่ฉันไม่พบคำสั่งที่เหมาะสมในการดำเนินการนี้

คำตอบ:


36

ที่พรอมต์ (Command Line) ประเภท:

dir /S /P "Path\FileName"

หากคุณต้องการบันทึกผลลัพธ์ในไฟล์ข้อความ:

dir /S "Path\FileName" > "Path\ResultFilename"

3
หากไฟล์ถูกซ่อนหรือไฟล์ระบบคุณอาจต้องการรวมพารามิเตอร์ / a ด้วย! 8-)
Richard Lucas

ข้อมูลเพิ่มเติมเล็กน้อย: การ/sค้นหาจะดำเนินการในขณะที่การ/pหยุดชั่วคราวหลังจากแสดงผลลัพธ์ของหน้าจอ dir /?สำหรับตัวเลือกเพิ่มเติมที่คุณสามารถทำได้
ลูกา

1
/sตัวเลือกไม่ได้ "จะค้นหา" มันขยายdirคำสั่ง - ซึ่งแสดงรายการไฟล์ในโฟลเดอร์ปัจจุบันโดยค่าเริ่มต้น - เพื่อแสดงรายการทั้งหมดในโฟลเดอร์ย่อยใด ๆ นี่เป็นการขยายdirขอบเขตของคำสั่งเพื่อแสดงรายการทุกอย่างในไดรฟ์หรือโฟลเดอร์แทนที่จะถูก จำกัด ไว้ที่ปัจจุบัน
Hashim

16

ใช้/bสวิตช์เพื่อdirพิมพ์เส้นทางแบบเต็มอาจเป็นประโยชน์ พูด,C:\ > dir /b /s *file*.*

ยังคุณสามารถกรองผลลัพธ์ด้วยfindหรือหรือforและเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ด้วย>filename


2

dirไม่ได้มีไว้สำหรับค้นหาไฟล์ แต่เพื่อแสดงรายการไดเรกทอรี แต่ตอนนี้มีสิ่งwhereที่สามารถใช้ในการค้นหาไฟล์ได้หลายประเภทดังนี้ where /R c:\Users *.dll *.exe *.jpg

จะตรวจสอบไวยากรณ์เต็มและคำตอบสำหรับ วิธีการค้นหาไฟล์อย่างง่ายใน cmd

WHERE [/R dir] [/Q] [/F] [/T] pattern...

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.

Parameter List:
    /R       Recursively searches and displays the files that match the
             given pattern starting from the specified directory.

    /Q       Returns only the exit code, without displaying the list
             of matched files. (Quiet mode)

    /F       Displays the matched filename in double quotes.

    /T       Displays the file size, last modified date and time for all
             matched files.

    pattern  Specifies the search pattern for the files to match.
             Wildcards * and ? can be used in the pattern. The
             "$env:pattern" and "path:pattern" formats can also be
             specified, where "env" is an environment variable and
             the search is done in the specified paths of the "env"
             environment variable. These formats should not be used
             with /R. The search is also done by appending the
             extensions of the PATHEXT variable to the pattern.

     /?      Displays this help message.

  NOTE: The tool returns an error level of 0 if the search is
        successful, of 1 if the search is unsuccessful and
        of 2 for failures or errors.

Examples:
    WHERE /?
    WHERE myfilename1 myfile????.*
    WHERE $windir:*.* 
    WHERE /R c:\windows *.exe *.dll *.bat  
    WHERE /Q ??.??? 
    WHERE "c:\windows;c:\windows\system32:*.dll"
    WHERE /F /T *.dll 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.