Tcl/Tk
Curso On-Line de Programação

Acesso ao sistema de arquivos

Tcl possui diversos comandos que permitem acessar o sistema de arquivos de um computador. Muitos desses comandos, possuem opções que só estam disponíveis em um determinado sistema operacional.

Para saber quais opções estão disponíveis no sistema operacional do seu computador, consulte a documentação on-line, ou o Tcl/Tk Reference Guide, ou ainda o Tcl/Tk Electronic Reference.

Para uma maior portabilidade de seu programa, é recomendável utilizar apenas as opções indepentes de sistema operacional.
 

Comando Descrição
file atime Retorna o tempo em segundos, a partir 01/01/1970, desde o último acesso ao arquivo.
file attributes Retorna ao define os atributos de um arquivo. As opções são diferentes para o UNIX, o Windows e o MacOS.
file copy Copia um ou mais arquivos para outro.
file delete Remove um arquivo.
file dirname Retorna o caminho completo de um arquivo.
file executable Retorna 1 se o arquivo for um programa executável pelo usuário, 0 caso contrário.
file exists Retorna 1 se o arquivo existir( e se o usuário puder ler o seu diretório ), 0 caso contrário.
file extension Retorna a extensão de um arquivo.
file isdirectory Retorna 1 se o arquivo for um diretório, 0 caso contrário.
file isfile Retorna 1 se o arquivo for um arquivo regular, 0 caso contrário.
file join Une nome de arquivo e diretórios, usando o separador correto para o sistema operacional.
file lstat O mesmo que file stat, mas usando a chamada lstat do kernel.
file mkdir Cria um ou mais diretórios. Pode criar uma árvore inteira.
file mtime Retorna o tempo em segundos, a partir 01/01/1970, desde a última modificação no arquivo.
file nativename Retorna o nome específico do arquivo para o sistema operacional corrente.
file owned Retorna 1 se o arquivo pertencer ao usuário, 0 caso contrário.
file pathtype Retorna o tipo do caminho: absolute, relative ou volumerelative.
file readable Retorna 1 se o arquivo puder ser lido pelo usuário, 0 caso contrário.
file readlink Retorna o valor do link sinbólico.
file rename Renomeia um arquivo.
file rootname Retorna o nome do arquivo sem a extensão.
file size Retorna o tamanho do arquivo.
file split Retorna o caminho de um arquivo em uma lista. Cada subdiretório como um elemento da lista.
file stat Retorna os resultados da chamada à função stat do kernel em uma lista, cujos elementos são: atime, ctime, dev, gid, ino, mode, mtime, nlink, size, type e uid.
file tail Retorna o nome do arquivo, sem o caminho.
file type Retorna o tipo do arquivo: file, directory, characterSpecial, blockSpecial, fifo, link ou socket.
file volume Retorna a lista dos drivers locais no Windows, dos drivers locais e de rede no MacOS e apenas "/" no UNIX.
file writable Retorna 1 se o usuário puder escrever no arquivo, 0 caso contrário.

Exemplos

file copy

file copy c:/autoexec.bat c:/autoexec.bak
Copia c:\autoexec.bat para c:\autoexec.bak.
 

file delete

file delete c:/autoexec.bak
Apaga o arquivo c:\autoexec.bak
 

file exists

puts [file exists c:/autoexec.bat]
Retorna 1 pois o arquivo existe no meu computador.
 

file join

puts [file join c autoexec.bat]
No Windows retorna c:/autoexec.bat
 

file mkdir

file mkdir c:/tmp/dir1/subdir1/subsubdir1
Cria o diretório tmp e todos os subdiretorios especificados abaixo dele.
 

file rename

file rename c:/autoexec.bak c:/autoexec.old
Renomeia c:\autoexec.bak para c:\autoexec.old.
 

file size

puts [file size c:/autoexec.bat]
Retorna o tamanho do arquivo.
 

file volume

puts [file volume]
Em meu computador retornou, no Windows:
a:/ c:/ d:/ e:/ f:/
E no Linux apenas:
/


No Windows, não utilize "\" para separar diretórios e nomes de arquivos, use "/", pois Tcl interpreta o caractere "\" como um caractere especial. Se desejar poderá usar "\\".

Para uma descrição detalhada de todos os comandos disponíveis em Tcl para acesso ao sistema de arquivos, consulte a documentação on-line, ou o Tcl/Tk Reference Guide, ou ainda o Tcl/Tk Electronic Reference.

Para maiores informações envie e-mail para info@souzamonteiro.com.


http://www.souzamonteiro.com
info@souzamonteiro.com

Copyright(C) 2000 by Roberto Luiz Souza Monteiro