DirectoryRecurse
Function DirectoryRecurse change current directory
https://xharbour-developers.narkive.com ... -directory
Hello friends,
I put this here in case someone notices the same problem.
I had this behaviour yesterday on a Windows 2019 server.
Best regards,
Otto
DirectoryRecurse
- Otto
- Posts: 6403
- Joined: Fri Oct 07, 2005 7:07 pm
- Has thanked: 24 times
- Been thanked: 2 times
- Contact:
DirectoryRecurse
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
- karinha
- Posts: 7935
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: DirectoryRecurse
Simples,
Regards, saludos.
Code: Select all | Expand
// Saber onde esta o executavel
cDirExe := cFILEPATH(GETMODULEFILENAME(GETINSTANCE()))
FUNCTION EXCLUIR_PDFS_UNIDANFE( oMeter, oText, oDlg, lEnd )
LOCAL cPath, cChave, cNfeExcluir, cPdfExcluir, cFileNfe, cFilePdf
SELECT CADNFE
IF CADPARAM->TPAMB = [1] // em producao
SET ORDER TO 03
ELSE
SET ORDER TO 01
ENDIF
GO TOP
oMeter:nTotal := RecCount()
oMeter:Refresh()
oText:SetText( "Aguarde, Procurando Arquivos..." )
wContador := 0
WHILE .NOT. EOF()
// caminho do diretorio
cPath := cDirExe+"UNIDANFE\EMAIL\ANEXOS\"
// Chave para pegar o .PDF e o .XML - Exemplo
//cChave := "35130144363265000120550000008000201008000200"
cChave := CADNFE->CHAVEACES
cFileNfe := ALLTRIM( cCHAVE ) + "nfe.xml" // EXCLUSAO DO .XML
cNfeExcluir := DIRECTORYRECURSE( cPath + cFileNfe )
cFilePdf := ALLTRIM( cCHAVE ) + "-danfe.pdf" // EXCLUSAO DO .PDF
cPdfExcluir := DIRECTORYRECURSE( cPath + cFilePdf )
IF LEN( cPdfExcluir ) == 0 .AND. LEN( cNfeExcluir ) == 0
// NADA A FAZER
oText:SetText( "Nenhum Arquivo Encontrado..." )
CONTINUE
// ARQUIVO ENCONTRADO EM: C:\INST_NFE\UNIDANFE\EMAIL\ANEXOS\varios subdir
ELSE
cArq := ""
cExt := ""
cPat := ""
FOR nI = 1 to LEN(cPdfExcluir)
hb_FNameSplit( cPdfExcluir[nI,1], @cPat, @cArq, @cExt )
wContador = wContador + 1
NEXT
cPdfExcluirs := ALLTRIM( cPat+cArq+cExt )
DELETEFILE( cPdfExcluirs )
FOR nI = 1 to LEN(cNfeExcluir)
hb_FNameSplit( cNfeExcluir[nI,1], @cPat, @cArq, @cExt )
wContador = wContador + 1
NEXT
cNfeExcluirs := ALLTRIM( cPat+cArq+cExt )
DELETEFILE( cNfeExcluirs )
ENDIF
SKIP
oText:SetText( "Eliminado Arquivo(s): " + ;
Alltrim( STR( wContador, 6, 0 ) ) + " de: " + ;
Alltrim( STR( WContador, 6, 0 ) ) + ", Aguarde..." )
oMeter:Set( RecNo() )
SYSREFRESH()
ENDDO
GO TOP
MsgInfo( OemToAnsi( "PRONTO! ROTINA COMPLETADA COM SUCESSO" )+CRLF+ ;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR... " ), ;
OemToAnsi( "Rotina Completada com Sucesso... " ) )
RETURN NIL
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Otto
- Posts: 6403
- Joined: Fri Oct 07, 2005 7:07 pm
- Has thanked: 24 times
- Been thanked: 2 times
- Contact:
Re: DirectoryRecurse
João, Thank you.
I will test your function.
Best regards,
Otto
I will test your function.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************