รายการไฟล์ทั้งหมดในโฟลเดอร์ย่อยทั้งหมด


คำตอบ:


37

รายการไฟล์ทั้งหมดซ้ำ

C: \> dir / s

เพื่อบันทึกลงในไฟล์

C: \> dir / s / WSfilelist.txt

ดูหน้าพวกเขาในเวลา

C: \> dir / s | มากกว่า


3
ก็โอเค ... มันก็ใช้ได้เหมือนกัน แค่สงสัยว่าทำไมไม่มีใครใช้ฟังก์ชั่นการค้นหามาตรฐานของ Windows สำหรับเรื่องนี้ :-)
Wim สิบ Brink

2
@Workshop Alex: เพราะ 1) การเรียกซ้ำdirนั้นเร็วขึ้นเล็กน้อยหากไม่ต้องตรวจสอบเงื่อนไขใด ๆ 2) มันช่วยให้คุณสามารถบันทึกชื่อลงในไฟล์
grawity

4
@WimtenBrink: และคุณจะส่งการค้นหา windows ไปยังผู้ใช้รายอื่นได้อย่างไร
adolf กระเทียม

1
คุณไม่จำเป็นต้องต่อท่ออีกต่อไปคุณเพียงแค่ต้องใช้สวิตช์ / p (ทำสิ่งเดียวกัน)
Keltari

3
dir /a-d /b /sตั้งแต่คำถามที่ไม่ได้พูดถึงไดเรกทอรีมันควรจะเป็น
jiggunjer

15

ลองต้นไม้ / f สิ่งนี้ควรแสดงโครงสร้างทั้งหมด


1
ซึ่งจะแสดงเป็นแผนผังไม่ใช่รายการ
Joey

คุณไม่คิดว่า OP จะพิจารณาผลลัพธ์นั้นเป็นรายการใช่หรือไม่
hyperslug

2
ฉันคิดว่าคำสั่ง tree จะมีการจัดรูปแบบที่ดีที่สุดช่วยให้คุณเห็นระดับโฟลเดอร์ย่อยได้อย่างชัดเจน
alex

มันมีโครงสร้างที่ดีที่สุด จะสามารถบันทึกเป็นไฟล์ข้อความหรือไฟล์ html ได้หรือไม่
xypha

พยายามtree /f>filelist.txt& มันใช้งานได้
xypha

5

คุณจะได้รับUnixUtils ที่ SourceForgefind.exeที่จะทำให้คุณ

จากนั้นคุณสามารถทำสิ่งต่อไปนี้สำหรับรายการไฟล์ทั้งหมดที่มีเส้นทางโฟลเดอร์

cd Path\to\folder
find.exe . -type f

มีคำสั่ง Unix ในรูปแบบอื่น ๆ ที่อาจเป็นประโยชน์สำหรับคุณ
เอาต์พุตสามารถค้นหาได้มากกว่าเมื่อเปรียบเทียบกับเนทิฟdirและtreeคำสั่ง


Johannesการปรับปรุงด้วยการป้อนข้อมูลจาก
ในcmd.exeเปลือก

dir /b /s

ทำงานได้ค่อนข้างดีสำหรับรายการที่เกิดซ้ำในรูปแบบ Widows ที่จัดรูปแบบ
(ดังนั้นคุณจะเห็น " C:\" และเครื่องหมายแบ็กสแลช, ' \')
ฉันพลาดคำตอบทั้งหมดของ " \b" Nifle! (+1 สำหรับตอนนี้)


ไม่จำเป็นต้องติดตั้งอะไรที่นี่เพราะdirมันมีความสามารถอย่างสมบูรณ์แบบ
Joey

1
@ Johannes คุณเปรียบเทียบ Unix findoutput กับ DOS dir /sหรือtreeสำหรับเรื่องนั้นหรือไม่
nik

1
คุณเคยใช้dir /bไหม :-)
Joey

@Johannes จริง ๆ แล้วฉันจำไม่ได้ว่าถ้าฉันทำแบบนั้นใน DOS 6.22 วัน มีความคุ้นเคยfindกับ Cygwin มากขึ้นและไม่เคยลองใช้คำสั่ง dos (จริง ๆ แล้วฉันใช้เวลาสักครู่เพื่อเปิดcmdเชลล์และหลีกเลี่ยง/usr/bin/dirการลองใช้ตัวเลือกนั้น แต่มันใช้งานได้ดีใจที่ได้เรียนรู้ว่า:-)
nik

2

ทำไมจึงซับซ้อน กด Windowskey + F เพื่อเริ่ม "ค้นหาไฟล์" ใน Windows ทางด้านซ้ายให้ไปที่ "ค้นหาใน" และเลือกตัวเลือกที่ด้านล่างเรียกว่า "เรียกดู ... " เลือกโฟลเดอร์ (ย่อย) ที่คุณต้องการค้นหาป้อน "*" (โดยไม่ใส่เครื่องหมายอัญประกาศ) ในช่อง "แก้ไขทั้งหมดหรือบางส่วนของชื่อไฟล์" และเริ่มการค้นหา รับกาแฟเมื่อคุณค้นหาบนดิสก์ขนาดใหญ่ที่มีข้อมูลจำนวนมากและเพียงรอเครื่องมือค้นหาที่ใช้ Explorer นี้เพื่อแสดงรายการที่สมบูรณ์ คุณสามารถค้นหาได้เปิดไฟล์โดยตรงและ จำกัด การค้นหาให้แคบลงถ้าจำเป็น

ทำไมผู้คนถึงลืมพฤติกรรมการค้นหาเริ่มต้นของ Windows


3
เพราะมันไม่ใช่ 1337? :-)
Natrium

13
คุณอาจมีปัญหาในการรับไฟล์ข้อความเช่น
Joey

จริง แต่ทำไมบางคนต้องการมันในไฟล์ข้อความ :-)
Wim Ten Brink

2
โปรดทราบว่าสิ่งนี้จะ (ใน Win XP เป็นอย่างน้อย) ค้นหาไฟล์ ZIP ทั้งหมดในโฟลเดอร์ย่อยทั้งหมดเช่นกัน ซึ่งจะช้าอย่างน่ากลัว ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ ซึ่งไม่สามารถปิดได้อย่างง่ายดาย หากไม่มีไฟล์ ZIP ฉันยอมรับว่านี่เป็นวิธีที่ดีที่สุด
Martin

@Wim: กระบวนการ 5 ขั้นตอนของคุณ (Win + F, เรียกดู, โฟลเดอร์ย่อย, *, เริ่ม) ช้ากว่าการพิมพ์ "dir / s" มาก (สำหรับนักพิมพ์ที่พิมพ์มากกว่า 100 คำต่อนาทีและใช้ในการทำสิ่งต่างๆ ที่พรอมต์คำสั่งดังนั้นจึงมักเปิดไว้ล่วงหน้า) นอกจากนี้กระบวนการที่คุณกล่าวถึงได้เปลี่ยนรุ่น w / Windows ในขณะที่ "dir / s" สอดคล้องกัน กระบวนการของคุณต้องการการกด Win + F ซึ่งไม่ใช่เรื่องง่ายเสมอไป บางครั้งแม้ว่าแป้นพิมพ์มีคีย์ Windows คีย์นั้นอาจใช้งานได้ยากกว่าเช่นในสถานการณ์การเข้าถึงระยะไกลซึ่งอาจใช้รหัสโดยคอมพิวเตอร์ท้องถิ่นแทนรีโมต
TOOGAM

1

ฉันพบไฟล์แบทช์นี้มีประโยชน์ทุกอย่าง

DragDropListFile.bat

@ECHO OFF
SET targetPath="%~1"
SET ToolPath=%~dp0

dir %targetPath% /b /s /a-d > "%ToolPath%list.txt"

การใช้งาน: เพียงแค่ลากโฟลเดอร์และวางลงบนไฟล์ DragDropListFile.bat จากนั้นไฟล์ที่ชื่อว่า list.txt ซึ่งมีสิ่งที่คุณต้องการจะถูกสร้างขึ้น

หากคุณไม่ชอบการลากและวางให้ลองชุดไฟล์นี้

ListFile.bat

ECHO OFF

SET crtPath=%~dp0

dir "%crtPath%" /b /s /a-d > list.txt

การใช้งาน: ใส่ไฟล์ ListFile.bat ในโฟลเดอร์ที่คุณต้องการแสดงรายการไฟล์จากนั้นเรียกใช้ไฟล์ ListFile.bat จากนั้นไฟล์ที่ชื่อว่า list.txt ซึ่งมีสิ่งที่คุณต้องการจะถูกสร้างขึ้น


0

dir /s /w >files.txtจะทำให้คุณได้รับประโยชน์สูงสุดจากที่นั่น มันจะทำให้ส่วนขยาย จากนั้นเปิดfiles.txtในโปรแกรมแก้ไขข้อความและ

  • จัดเรียงบรรทัดทั้งหมดและลบบรรทัดที่ไม่จำเป็นออก
  • หรือลบออกด้วยการดำเนินการค้นหาและแทนที่หรือ 2
    • regex ^ +\d+ File.+\r\n\r\n Dir.+\r\n\r\nกำจัดช่องว่างและรายละเอียดโฟลเดอร์ระหว่างรายชื่อไฟล์ของแต่ละโฟลเดอร์สำหรับฉันใน Notepad ++
  • จากนั้นเพียงตัดส่วนบนและส่วนท้ายของไฟล์ข้อความ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.