Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
CHMOD( < cFileName >, < nFileMode >, [ uParam3 ], [ lChangeCase ] )
|
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cFileName | caractere | Indica o nome do arquivo no qual se deseja alterar suas propriedades (atributos) do sistema. | X |
|
nFileMode | numérico | Indica a permissão que será atribuída ao proprietário, grupo ou representante do arquivo indicado no parâmetro <cFileName>. | X |
|
uParam3 | numérico | Parâmetro de compatibilidade. Passar Nil. |
|
|
lChangeCase | lógico | Se .T., nome de arquivos e pastas são convertidos para letras minúsculas, e se for .F. não altera o nome informado. Caso não especificado, o valor padrão é .T., exceto se houver a configuração das chaves de ini CASESENSITIVE ou SERVERTYPE. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Retorna verdadeiro (.T.), se a alteração da restrição for realizada com sucesso; caso contrário, falso (.F.). |
Observações
- O parâmetro opcional lChangeCase foi introduzido a partir do build 7.00.131227A pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre o comportamento de CASE SENSITIVE definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE.
Essa função era executada apenas em ambiente Linux/Unix. No entanto, para builds superiores a 7.00.101202A, está função também poderá ser utilizada em ambiente Windows, porém com parametrização diferenciada. Veja maiores detalhes em Informações Adicionais.
O parâmetro <nFileMode>, consiste em três números, em octal, que especifica as restrições de acesso para o proprietário, grupo de usuário do proprietário e finalmente qualquer outro, nessa ordem.
Cada número pode ser calculado pela adição das permissões necessárias para o alvo. Observe:Número
Descrição
1
Direito de execução
2
Direito de escrita
4
Direito de leitura
Para obter mais informações sobre os modos no sistema Linux/Unix, consulte man chmod(1) e man chmod(2).
Mais Informações
Em ambiente Windows, a função CHMOD() apenas permite alterar a propriedade "somente leitura" ( read-only ) de um arquivo. Para remover o flag "somente leitura", dando direitos de escrita no arquivo, devemos informar o número 2 no parâmetro <nFileMode>, e para setar o flag "somente leitura", impedindo a escrita no arquivo, deve-se informar o número 4 em <nFileMode>.
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
User Function Exemplo(cFileName)
CHMOD( cFileName , 666 ) // Em linux, direitos de escrita e leitura.
CHMOD( cFileName, 2 ) // Em windows, direito de escrita ( Remove flag de "somente leitura" caso esteja setado )
Return
|
...
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server