fileinfo Fornece informações sobre um arquivo

## Seqüência de Chamamento

                 x = fileinfo(filesPaths)
                [x,ierr] = fileinfo(filesPaths)

## Parâmetros

filesPaths

vector of paths (as text). Files of any type can be targeted: regular files, directories (in their own), shortcuts, symbolic links, etc.

x

  matrix of decimal integers, of sizes (m,13) with m: number of provided files paths. The row #i returns informations about the file `filesPaths(i)`.

  If only one path is queried and the file does not exist, `x` returns [].

  If several files are queried: when a file among them does not exist, its `x` row is filled with `Nan` values.

  x column | Description
  --- | ---
  1 : | tamanho do arquivo
  2 : | file permissions (see the description)
  3 : | id of the file's owner (always 0 on Windows)
  4 : | id of the file's group (always 0 on Windows)
  5 : | número do dispositivo
  6 : | UNIX timestamp of last data modification. `getdate(x(:,6))(:,[1 2 6 7 8 9])` returns the corresponding date as a matrix of [year month day hour mn ss] numerical rows.
  7 : | data da última mudança.
  8 : | data do último acesso.
  9 : | tipo de dispositivo (se o dispositivo for inode).
  10 : | tamanho de bloco para a entrada/saída do sismtema de arquivos (sempre 0 no Windows).
  11 : | número de blocos alocados (sempre 0 no Windows)
  12 : | File's inode (unique id) (always 0 on Windows)
  13 : | Number of hard links pointing to this file (always 1 on Windows).

ierr

  indicador de erro : 0, se não for encontrado nenhum erro.

## Descrição

Esta função é uma interface para a função C stat.

Permissões são tipicamente especificadas como números octais : `dec2oct(x(2))` para conversão.

O modo numérico possui de um a quatro dígitos octais (0-7), derivados através da soma de bits com os valores 4, 2, e 1. Quaisquer dígitos omitidos são supostos como zeros à esquerda. O primeiro dígito seleciona o ID de usuário (4) e ajusta o ID do grupo (2) e atributos "sticky" (1). O segundo dígito seleciona permissões para o usuário que possui o arquivo: leitura (4), escrita (2), e execução (1); o terceiro dígito seleciona permissões para os outros usuários no grupo do arquivo, com os mesmos valores; e o quarto seleciona permissões para outros usuários que não estão no grupo do arquivo, com os mesmos valores.

## Exemplos

    w = fileinfo(SCI+'/etc/scilab.start')
    // permissão do arquivo
    dec2oct(w(2))
    // data do arquivo : [year month day hh mn ss .ss]
    getdate(w(6))(:,[1 2 6:10])

    // Verificando a permissão de escrita em um arquivo
    w = fileinfo(SCI+'/etc/scilab.start')

    S_IWRITE = 128; // mascarando a permissão de escrita
    S_IEXEC = 64; // mascarando a permissão de execução
    S_IREAD = 256; // mascarando a permissão de leitura
    S_IFCHR = 8192; // mascarando a permissão de diretório

    if ( bitand( w(2), S_IWRITE ) <> 0) then
     disp('PERIMISSÃO DE ESCRITA neste arquivo.');
    else
     disp('NÃO HÁ PERIMISSÃO DE ESCRITA neste arquivo.');
    end

## Ver Também

- getdate
- file
- dispfiles
- newest
- isfile
- isdir

## History

6.0.0 Several files paths can now be processed.