Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - 日本語 - Русский
Ajuda do Scilab >> Arquivos : funções de Entrada/Saída > fileinfo

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 columnDescription
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

History

VersãoDescrição
6.0.0 Several files paths can now be processed.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 15:00:46 CET 2019