2012-05-25 17 views
7

Soy nuevo en Node.js y estoy tratando de descubrir qué está mal con el siguiente código.Node.js y sistema de archivos en Windows - Error de EBUSY

var fs = require('fs'); 
var dir = "C:\\"; 
var files = fs.readdirSync(dir); 
for (var i = 0; i < files.length; i++) { 
    var name = fs.statSync(dir + files[i]).name; 
} 

Cuando se ejecuta este código me sale el error:

Error: EBUSY, resource busy or locked 'C:\hiberfil.sys' 
    at Object.statSync (fs.js:424:18) 
    at Object.<anonymous> (S:\start.js:7:19) 
    at Module._compile (module.js:446:26) 
    at Object..js (module.js:464:10) 
    at Module.load (module.js:353:31) 
    at Function._load (module.js:311:12) 
    at Array.0 (module.js:484:10) 
    at EventEmitter._tickCallback (node.js:190:38) 
+0

Pruebe este primero https://stackoverflow.com/questions/36566236/npm-install-error-code-ebusy-errono-4082/45757541#45757541 –

Respuesta

11

Hiberfil.sys es un archivo de sistema que contiene los datos de hibernación en el disco, no se puede simplemente leerlo a través de los derechos normales, es súper confidencial ya que contiene toda la información de memoria en el disco.

+7

+1 - para el "super confidencial". – BuddyJoe

+1

Simplemente lanzando una nota aquí para referencia: El uso de un try/catch solucionó mi problema con este mensaje de error. 'try {var name = fs.statSync (ruta); } '- simplemente lo ignora si el archivo no se puede leer por cualquier razón, y continúa. Nodo realmente me ayudó a comprender el valor del manejo de errores en JS. – Adrian

Cuestiones relacionadas