Heim >Web-Frontend >js-Tutorial >Stapelumbenennung der Knotendatei
Dieses Mal werde ich Ihnen die Batch-Umbenennung von Knotendateien vorstellen. Was sind die Vorsichtsmaßnahmen für die Batch-Umbenennung von Knotendateien? Das Folgende ist ein praktischer Fall, schauen wir uns das an.
In einer tatsächlichen Anforderung muss ein Stapel von Dateien (z. B. Text, Bilder) umbenannt und entsprechend den Nummern nummeriert werden. Ich habe gerade diese Gelegenheit genutzt, um mich mit den FS-Dateioperationen des Knotens vertraut zu machen, und ein Skript geschrieben, um Dateinamen stapelweise zu ändern. AnforderungenFolgende Bilddateien sind verfügbarIm fs-Modul gibt es zwei synchrone und asynchrone Möglichkeiten
//异步fs.readFile('test.txt', 'utf-8' (err, data) => { if (err) { throw err; } console.log(data); });//同步let data = fs.readFileSync('test.txt');console.log(data);Asynchrones Lesen von Dateiparametern: Dateipfad, Kodierungsmethode, Datei schreiben
fs.writeFile('test2.txt', 'this is text', { 'flag': 'w' }, err => { if (err) { throw err; } console.log('saved'); });Dateiparameter schreiben: Zieldatei, Inhalt schreiben, Formular schreiben, Rückruffunktion
Flag-Schreibmethode:
a : Anhängen Verzeichnis erstellen
fs.mkdir('dir', (err) => { if (err) { throw err; } console.log('make dir success'); });dir ist der Name des neuen Verzeichnisses Verzeichnis lesen
fs.readdir('dir',(err, files) => { if (err) { throw err; } console.log(files); });dir ist der Name des gelesenen Verzeichnisses, files ist ein Array von Dateien oder Verzeichnisnamen unter dem Verzeichnis Dateiinformationen abrufen
fs.stat('test.txt', (err, stats)=> { console.log(stats.isFile()); //true})Statistikmethode nach dem Abrufen von Dateiinformationen:
stats.isFile() 是否为文件 stats.isDirectory() 是否为目录 stats.isBlockDevice() 是否为块设备 stats.isCharacterDevice() 是否为字符设备 stats.isSymbolicLink() 是否为软链接 stats.isFIFO() 是否为UNIX FIFO命令管道 stats.isSocket() 是否为SocketLesestream erstellen
let stream = fs.createReadStream('test.txt');Schreibstream erstellen
let stream = fs.createWriteStreamr('test_copy.txt');Entwicklung
Entwicklungsidee: Quellverzeichnis lesenBeurteilen Sie, ob das Speicherverzeichnis vorhanden ist, und erstellen Sie ein neues Verzeichnis, wenn es nicht vorhanden istKopieren Sie die DateiBeurteilen Sie den kopierten Inhalt. Ob ein Lesestream für die Datei erstellt werden soll Erstellen Sie einen Schreibstream Link-Pipe und schreiben Sie den Dateiinhalt
let fs = require('fs'), src = 'src', dist = 'dist', args = process.argv.slice(2), filename = 'image', index = 0;//show helpif (args.length === 0 || args[0].match('--help')) { console.log('--help\n \t-src 文件源\n \t-dist 文件目标\n \t-n 文件名\n \t-i 文件名索引\n'); return false; } args.forEach((item, i) => { if (item.match('-src')) { src = args[i + 1]; } else if (item.match('-dist')) { dist = args[i + 1]; } else if (item.match('-n')) { filename = args[i + 1]; } else if (item.match('-i')) { index = args[i + 1]; } }); fs.readdir(src, (err, files) => { if (err) { console.log(err); } else { fs.exists(dist, exist => { if (exist) { copyFile(files, src, dist, filename, index); } else { fs.mkdir(dist, () => { copyFile(files, src, dist, filename, index); }) } }); } });function copyFile(files, src, dist, filename, index) { files.forEach(n => { let readStream, writeStream, arr = n.split('.'), oldPath = src + '/' + n, newPath = dist + '/' + filename + index + '.' + arr[arr.length - 1]; fs.stat(oldPath, (err, stats) => { if (err) { console.log(err); } else if (stats.isFile()) { readStream = fs.createReadStream(oldPath); writeStream = fs.createWriteStream(newPath); readStream.pipe(writeStream); } }); index++; }) }Ich glaube, ich habe den Fall in diesem Artikel gelesen. Sie beherrschen die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! Empfohlene Lektüre:
Verwenden von JS-Code zum Erstellen von Sperreffekten
Verwenden von H5-Canvas zum Erstellen von Sperreffekten
Das obige ist der detaillierte Inhalt vonStapelumbenennung der Knotendatei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!