Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou precisando confirmar a existência de um arquivo QVD antes de fazer a carga.
O motivo é que caso o arquivo não exista, faço uma conexão (LDAP ou OLEDB) e gravo um novo QVD.
Se já existir, verifico se é muito antigo (com o FileTime) pra decidir se faço outra carga ou carrego o QVD existente.
Bom dia Rodrigo.
Tente desta maneira
LET Tamanho_Arquivo | = FileSize('C:\teste.txt'); |
If Not Isnull($(Tamanho_Arquivo)) then
Conexão;
Leitura dos dados;
end if
Coloquei no exemplo apenas uma carga experimental, mas você poderá incluir a sua necessidade acrescentando um else
IF not Filesize('caminho e nome do arquivo') > 0 then
//Conectar
end if
Assim não deu.
Quando o arquivo não existe, dá erro na execução do script.
Obrigado por responder.
Deve ter outra coisa errada. O trecho abaixo roda certinho
if FileSize('c:\essearquivonaoexiste.txt') > 0 then
trace Arquivo existe;
end if
Coloca seu código e qual a mensagem de erro que gera
Bom dia Rodrigo.
Tente desta maneira
LET Tamanho_Arquivo | = FileSize('C:\teste.txt'); |
If Not Isnull($(Tamanho_Arquivo)) then
Conexão;
Leitura dos dados;
end if
Coloquei no exemplo apenas uma carga experimental, mas você poderá incluir a sua necessidade acrescentando um else
Pessoal, com o Isnull() deu certo!
Eu uso o script em vários painéis para identificar os usuários ativos do meu ActiveDirectory.
Assim não preciso carregar toda hora do LDAP. Mas se o usuário nunca carregou, tem que criar.
O código ficou assim:
Let usermaq=mid(OSuser(),12);
Let Tamanho_Arquivo=FileSize('E:\ScriptAD\InativosAD_$(usermaq).qvd');
If not Isnull(Tamanho_Arquivo) then
If FileTime('E:\ScriptAD\InativosAD_$(usermaq).qvd') >= now()-0.1 Then
//Rotina para carregar direto do QVD (dados criados há menos de 2,4 horas)
Exit Script
Endif
Endif
//Rotina para carregar com a conexão LDAP (criar novo QVD ou atualizar dados)
Clever, testei com o FileSize de novo.
Mas quando o arquivo não existe, ele não entra na rotina:
Let usermaq=mid(OSuser(),12);
if not FileSize('E:\ScriptAD\InativosAD_$(usermaq).qvd') > 0 then
load 'deu certo' as x AutoGenerate 1;
Endif
Parabéns amigo, só lembra de setar a resposta correta pra quem te lançou a lógica da parada (y)