Hi Varun
Seperti yang dikatakan NC, kami tidak dapat memperoleh izin untuk mengakses file di mesin pengguna dengan JavaScript, namun, jika Anda hanya ingin menjalankan skrip di mesin Anda sendiri, kode berikut dapat dicapai. [JScript] function ShowFolderFileList(folderspec) { var fso, f, f1, fc, s; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.GetFolder(folderspec); fc = new Enumerator(f.files); s = ""; for (; !fc.atEnd(); fc.moveNext()) { s += fc.item(); s += "<br>"; } return(s); } [VBScript] Function ShowFolderList(folderspec) Dim fso, f, f1, fc, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set fc = f.Files For Each f1 in fc s = s & f1.name s = s & "
" Next ShowFolderList = s End Function
Bekerja dengan file adalah tugas umum dengan bahasa pemrograman apa pun. Manipulasi file mengharuskan kita mengetahui lokasinya. Salah satu cara paling mendasar untuk berinteraksi dengan file adalah dengan membuat daftar file dalam direktori
Pada artikel ini, kita akan menggunakan Node. js dan modul fs bawaan serta modul pohon direktori dari NPM untuk mencantumkan semua file dari direktori
Kami akan membaca direktori, files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 2, terletak di tempat yang sama dengan file files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 3 kami
09/10/2020 01:27 PM 332 app.js 09/10/2020 01:24 PM files _Direktori berisi
files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txtpohon direktori
files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 4 adalah modul NPM praktis yang menangani tugas ini untuk kita dan memformat hasilnya dengan baik. Pertama, mari kita instal
Sekarang, mari impor ke dalam skrip kita dan lengkapi dengan lokasi direktori kita
const dirTree = require("directory-tree"); const tree = dirTree('./files/'); console.log(tree); _Konstanta files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt _5 sekarang berisi informasi yang ingin kita akses. Kode ini menghasilkan
{ path: './files/', name: 'files', children: [ { path: 'files\\anotherDirectory', name: 'anotherDirectory', children: [Array], size: 8, type: 'directory' }, { path: 'files\\anotherTextFile.txt', name: 'anotherTextFile.txt', size: 2218, extension: '.txt', type: 'file' }, { path: 'files\\textFile.txt', name: 'textFile.txt', size: 7, extension: '.txt', type: 'file' } ], size: 2233, type: 'directory' }Kami juga dapat menentukan ekstensi yang ingin kami filter berdasarkan, menggunakan fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 6
const tree = dirTree('./files/', {extensions:/\.js$/}); console.log(tree);Ini akan mengembalikan hasil kosong karena tidak ada file JS di direktori files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 2
fs. readdir()
Cara termudah untuk membaca file dari direktori tanpa modul eksternal adalah dengan bantuan fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 8. Ini asinkron dan mengembalikan array yang berisi nama file di direktori yang telah Anda tentukan
Mari lanjutkan dan buat daftar file dari direktori files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 2
const directory = './files/'; const fs = require('fs'); fs.readdir(directory, (err, files) => { files.forEach(file => { console.log(file); }); });Di sini, kami telah menentukan konstanta $ npm install directory-tree 0, menunjuk ke folder files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 2, setelah itu, kami telah mengimpor modul $ npm install directory-tree 2
Kemudian, kami telah menyediakan $ npm install directory-tree 0 ke fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 8 dan mencatat nama mereka melalui panggilan balik. Ini menghasilkan
anotherDirectory anotherTextFile.txt textFile.txt textFile.txt - Shortcut.lnkCatatan. Fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt _8 juga membaca direktori, tetapi tanpa indikasi apakah itu direktori atau file. File tanpa ekstensi terlihat sama dengan direktori dalam hal ini
Namun, kita dapat menggunakan fungsi $ npm install directory-tree _6 untuk membantu kita dalam hal ini
Menggunakan $ npm install directory-tree _7, kami telah memeriksa apakah yang kami temui di jalur yang diberikan adalah direktori atau file. Ini sekarang menghasilkan
Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu
Directory: anotherDirectory File: anotherTextFile.txt File: file File: textFile.txtfs. readdirSync()
Fungsi $ npm install directory-tree _8 hampir sama dengan fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 8, tetapi membaca secara sinkron, bukan asinkron
Ini bekerja dengan cara yang sama seperti pendekatan sebelumnya - hanya menangani operasi secara sinkron
files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 0Di sini, kami telah melakukan hal yang sama yang telah kami lakukan sebelumnya. Memeriksa file dan direktori, mengubah aliran sedikit berdasarkan hasil. Kode ini dicetak
Directory: anotherDirectory File: anotherTextFile.txt File: file File: textFile.txtKesimpulan
Pada artikel ini, kami telah membahas beberapa cara untuk membuat daftar file dalam direktori di Node. js Kita mulai dengan files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 4, paket NPM yang dibuat untuk tujuan ini, setelah itu kita menggunakan modul $ npm install directory-tree 2 bawaan dan fungsi files │ anotherDirectory │ └── fileInDirectory.txt └── textFile.txt └── anotherTextFile.txt 8 dan $ npm install directory-tree 8 untuk membuat daftar file