Wenn das Fenster (was ich nehme an, es ist), dann müssen Sie ein paar Dinge tun:
- den vollständigen Pfad verwenden (Laufwerksbuchstaben sind in Ordnung, aber Sie können auch verwenden UNC-Pfade in Windows) in das gewünschte Verzeichnis.
- Lassen Sie alle umgekehrten Schrägstriche in einer Zeichenfolgedefinition mit einem zusätzlichen umgekehrten Schrägstrich zurück.
- Verwenden Sie immer Fehlerbehandlung auf Ihrem
fs.readdir()
Rückruf, so wenn Sie einen Fehler haben, können Sie genau sehen, was der Fehler ist.
Arbeitscode:
const fs = require('fs');
const testFolder = 's:\\test';
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
files.forEach(file => {
console.log(file);
});
});
Ich habe gerade versucht, diesen Code auf meinem eigenen Festplatte und es funktioniert gut.
Und FYI ziemlich ich viel immer ES6 verwende for/of
jetzt in moderner node.js statt .forEach()
, weil es viel effizienter für den Interpreter ist und es gibt Ihnen mehr Steuerung (zum Beispiel können Sie verwenden, um break
verlasse die Schleife).
const testFolder = 's:\\test';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
for (let file of files) {
console.log(file);
}
});
bitte die vollständige Adresse des Laufwerks verwenden (s ist nur eine kurze Version eines vollständigen Pfades) ... Dieser Beitrag können Ihnen helfen http://stackoverflow.com/questions/34837954/use-node- js-to-access-a-local-network-Laufwerk – ymz
Sie haben Recht, ich dachte, ich hätte das versucht, aber ich habe mich geirrt. Vielen Dank. – mathExpl
Fangen Sie auch den Fehler zuerst, 'If (err) zurück console.error (err)' oder noch besser verwenden Sie ein Promisified 'fs' – Matt