Lucas Junqueira 0 Denunciar post Postado Março 24, 2016 Boa tarde, Prezados, estou tentando criar uma bat que registra todas as DLLs contidas em um dado diretório. Atualmente fazem isto uma a uma, da forma abaixo: regsvr32.exe /s c:\w\cad.dll regsvr32.exe /s c:\w\cadest.dll regsvr32.exe /s c:\w\cadg.dll regsvr32.exe /s c:\w\cadp.dll regsvr32.exe /s c:\w\CDO.dll regsvr32.exe /s c:\w\Cons.dll regsvr32.exe /s c:\w\atend.dll regsvr32.exe /s c:\w\Guia.dll regsvr32.exe /s c:\w\presc.dll regsvr32.exe /s c:\w\pront.dll regsvr32.exe /s c:\w\contadll.dll . . . . . **PROBLEMA** - Se houver novas DLLs, tenho que ficar editando o arquivo e adicionando várias DLLs No entanto sei que posso fazer isto em uma só linha, com o conceito de "|". Estou com a linha: DIR *.dll /b /o:n | regsvr32.exe Mas o regsvr32.exe só aceita entrada Binária, no caso, seria o caminho absoluto das DLLs, mas só consegui até o momento o nome do arquivo. O comando ATTRIB -R -A -S *.dll e depois ATTRIB /S *.dll exibe exatamente o que quero, mas vem com vários espaços em branco(como abaixo) C:\W\esp.dll C:\W\estoque.dll C:\W\evo.dll C:\W\exporta.dll Quem puder ajudar, fico grato. Att, Lucas Junqueira Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Março 24, 2016 Você pode usar alguma função TRIM no seu arquivo batch. Existem alguns modos, mas são meio complicados: http://stackoverflow.com/questions/3001999/how-to-remove-trailing-and-leading-whitespace-for-user-provided-input-in-a-batch http://www.dostips.com/DtTipsStringManipulation.php Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Junqueira 0 Denunciar post Postado Março 29, 2016 Obrigado pela sugestão, vou rever esta possibilidade, pois terei que jogar a saída num TXT e depois criar um loop para ler linha a linha jogando numa variável e registrando; de repente torne o processo lento, mas resolveria. **Se alguém tiver mais alguma sugestão... Compartilhar este post Link para o post Compartilhar em outros sites