Windows: ¿Cómo encontrar el nombre de un archivo para un identificador de archivo?

Windows: ¿Cómo encontrar el nombre de un archivo para un identificador de archivo?

Estoy trabajando con un software llamado logstash que procesa archivos de registro y almacena el progreso en un archivo como este:

82484791-1419-65536 0 0 26507948
82484791-1420-65536 0 0 26071030
82484791-1421-65536 0 0 3065829
82484791-1422-65536 0 0 3973980
82484791-1425-65536 0 0 4301931

Quiero ver los nombres de los archivos que se han procesado.

Según la documentación, esto debe interpretarse como:

Los archivos Sincedb son archivos de texto con cuatro columnas:

El número de inodo (o equivalente). El número de dispositivo principal del sistema de archivos (o equivalente). El número de dispositivo menor del sistema de archivos (o equivalente). El desplazamiento de bytes actual dentro del archivo.

En Linux puedo convertir el inodo a nombre de archivo usando:

find /path/to/mountpoint -inum <inode number>

o

debugfs -R 'ncheck <inode number>' /dev/sda2 2>/dev/null

¿Cuál es el equivalente de Windows para hacer esto?¿Cómo convierto el identificador de archivo/descriptores de archivo de Windows en nombres de archivos y directorios?

Respuesta1

Los descriptores de archivos y los identificadores de archivos son efímeros: existen sólo mientras se ejecuta un programa y pueden reutilizarse. Encontrarlos en un archivo de registro es bastante inútil.

Los inodos de Linux sonnodescriptores de archivos. Son parte de la estructura del sistema de archivos en disco en sistemas de archivos comunes, como Ext2 y Ext3. Dado que son tan importantes para Linux, Linux simulará números de inodos al acceder a un sistema de archivos FAT de Microsoft.

Eso nos lleva al siguiente problema: Windows no usa inodos, porque los sistemas de archivos típicos de Microsoft no usan inodos. No está bastante claro cuál es el valor "o equivalente". Si tuviera que adivinar, lo haríaNúmero de secuencia de actualización (USN)pero no confíes en mi palabra.

información relacionada