File Batch; Daftar file dalam direktori, hanya nama file?


120

Ini mungkin pertanyaan yang sangat sederhana, tetapi saya mengalami masalah. Pada dasarnya, saya mencoba menulis File Batch dan saya membutuhkannya untuk mencantumkan semua file dalam direktori tertentu. The dirperintah akan melakukan hal ini, tetapi juga memberikan banyak informasi lainnya; Saya ingin daftar HANYA nama file dan mengecualikan yang lainnya.

Saya hanya ingin hasilnya terlihat seperti ini:

file1.txt
file2.txt
file3.txt

Terima kasih sebelumnya!


Jawaban:


236

Perintah lengkapnya adalah:

dir /b /a-d

Biarkan saya memecahnya;

Pada dasarnya, /bitulah yang Anda cari.

/a-d akan mengecualikan nama direktori.


Untuk informasi selengkapnya, lihat dir /?argumen lain yang bisa Anda gunakan dengan dirperintah.


8
Tidak apa-apa bagi saya :) dir /b /a-d > tmp.txt
Stéphane GRILLON

2
Itu tidak bekerja dengan /Suntuk mendapatkan nama file dari sub-direktori juga.
Farhan Ghumra

@xyroid apakah Anda membaca seltene /a-d will the exclude directory names?
Stephan

4
Tidak terkecuali jika saya ingin mencetak nama file sub-direktori.
Farhan Ghumra

Ini sangat dekat dengan apa yang saya butuhkan. Saya membutuhkan jalur absolut dan rekursi ke dalam subdirektori. Inilah yang saya gunakan:dir /B /A-D /S
EmpathicSage

34

Anda juga dapat mencoba ini:

for %%a in (*) do echo %%a

Dengan menggunakan forperulangan, Anda dapat echomengetahui semua nama file dari direktori saat ini.

Untuk mencetaknya langsung dari konsol:

for %a in (*) do @echo %a

7

Jika Anda membutuhkan subdirektori juga, Anda memerlukan perintah "dir" dan perintah "For"

dir /b /s DIRECTORY\*.* > list1.txt

for /f "tokens=*" %%A in (list1.txt) do echo %%~nxA >> list.txt

del list1.txt

letakkan direktori root Anda di perintah dir. Ini akan membuat list1.txt dengan nama path lengkap dan kemudian list.txt dengan hanya nama file.


5

1. Buka notepad

2. Buat file baru

3. ketik garis bawah

dir /b > fileslist.txt

4. Simpan " list.bat"

Itu dia. sekarang Anda dapat menyalin & menempelkan list.batfile " " ini di mana saja dari lokasi folder Anda dan klik dua kali, ini akan membuat " fileslist.txt" bersama dengan folder direktori dan daftar nama file.

Keluaran Sampel: masukkan deskripsi gambar di sini

Catatan: Jika Anda ingin membuat daftar nama file beserta sub foldernya, maka Anda dapat membuat file batch dengan kode di bawah ini.

dir /b /s > fileslist.txt

2
Bagaimana jika saya tidak ingin file keluaran "fileslist.txt" dimasukkan dalam daftar?
Behnam

4
  • Mengapa tidak digunakan wheresaja dir?

Di baris perintah:

for /f tokens^=* %i in ('where .:*')do @"%~nxi"

Dalam file bat / cmd:

@echo off 

for /f tokens^=* %%i in ('where .:*')do %%~nxi
  • Keluaran:

file_0003.xlsx
file_0001.txt
file_0002.log
where .:*
  • Keluaran:

G:\SO_en-EN\Q23228983\file_0003.xlsx
G:\SO_en-EN\Q23228983\file_0001.txt
G:\SO_en-EN\Q23228983\file_0002.log

Untuk secara rekursif:

where /r . *
  • Keluaran:

G:\SO_en-EN\Q23228983\file_0003.xlsx
G:\SO_en-EN\Q23228983\file_0001.txt
G:\SO_en-EN\Q23228983\file_0002.log
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0004.docx
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0005.csv
G:\SO_en-EN\Q23228983\Sub_dir_001\file_0006.odt
  • Untuk loop dapatkan jalur dan nama:

  • Di baris perintah:
for /f tokens^=* %i in ('where .:*')do @echo/ Path: %~dpi ^| Name: %~nxi
  • Dalam file bat / cmd:
@echo off 

for /f tokens^=* %%i in ('where .:*')do echo/ Path: %%~dpi ^| Name: %%~nxi
  • Keluaran:

 Path: G:\SO_en-EN\Q23228983\ | Name: file_0003.xlsx
 Path: G:\SO_en-EN\Q23228983\ | Name: file_0001.txt
 Path: G:\SO_en-EN\Q23228983\ | Name: file_0002.log

  • Untuk perulangan, dapatkan jalur dan nama secara rekursif:

Di baris perintah:

for /f tokens^=* %i in ('where /r . *')do @echo/ Path: %~dpi ^| Name: %~nxi

Dalam file bat / cmd:

@echo off 

for /f tokens^=* %%i in ('where /r . *')do echo/ Path: %%~dpi ^| Name: %%~nxi
  • Keluaran:

 Path: G:\SO_en-EN\Q23228983\ | Name: file_0003.xlsx
 Path: G:\SO_en-EN\Q23228983\ | Name: file_0001.txt
 Path: G:\SO_en-EN\Q23228983\ | Name: file_0002.log
 Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0004.docx
 Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0005.csv
 Path: G:\SO_en-EN\Q23228983\Sub_dir_001\ | Name: file_0006.odt


2

Windows 10:

  1. buka cmd

  2. ubah direktori tempat Anda ingin membuat file teks (movie_list.txt) untuk folder (d: \ videos \ film)

  3. ketik perintah berikut

    d: \ videos \ movies> dir / b / ad> movie_list.txt


2

buat file batch dengan kode berikut:

dir %1 /b /a-d > list.txt

Kemudian drag & drop direktori di atasnya dan file di dalam direktori tersebut akan terdaftar di list.txt


0

dir / s / d / a: -d "jalur folder *. *"> file.txt

Dan, hilangkan / s jika Anda tidak membutuhkan file dari subfolder

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.