Fornece informações sobre um arquivo
x = fileinfo(filesPaths) [x,ierr] = fileinfo(filesPaths)
vector of paths (as text). Files of any type can be targeted: regular files, directories (in their own), shortcuts, symbolic links, etc.
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). |
indicador de erro : 0, se não for encontrado nenhum erro.
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.
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 | ![]() | ![]() |
Version | Description |
6.0.0 | Several files paths can now be processed. |