Inquiridor
VBScript - Ler arquivo de pasta e registrar em variavel interna

Pergunta
-
Ola pessoal,
Sou novo em vbscript
Poderiam me ajudar a criar um script que:
Vamos supor que uma pasta tenha 5 arquivos com extensões diferentes.
Preciso ler o nome dos arquivos que estão dentro dessa pasta e depois registrar o nome de cada arquivo em variaveis internas diferentes.
Supondo tambem que eu não saberia quantos arquivos teria dentro da pasta.
Todas as Respostas
-
Boa tarde thiago,
Vamos entender melhor sua demanda.
Você quer ler os arquivos e jogar cada arquivo em uma variável? O intuito é jogar esses arquivos para um CSV ou algo nesse sentido?
Porque a melhor solução nesse caso é jogar cada arquivo em uma única variável dentro de um loop e ir utilizando para o que deseja em cada ciclo, invés de criar N variáveis.
Seria esse o intuito?
E só poderia ser em .vbs e não em powershell?
IT Specialyst | MCSE Core Infrastrucuture | MCSE Produtivity | MCSA Windows Server 2016 | VCP6-DCV | Commvault Professional | MBA | Se a resposta for útil, marque! | If the answer is helpfull, check!
-
Na verdade não é jogar os dados dos arquivo, é somente o nome do arquivo:
Exemplo: C:\teste.txt
Mais imagina a pasta com 10 arquivos e tenho que pegar cada nome de arquivo e por em uma variavel diferente
Queria pegar o nome "teste.txt" e colocar em uma variavel
-
Sim isso eu entendi,
O que eu quero entender é saber o intuito disso para que possamos oferecer a melhor solução.Qual a finalidade do nome? é executar um comando? atualizar um arquivo? exportar para um csv?
IT Specialyst | MCSE Core Infrastrucuture | MCSE Produtivity | MCSA Windows Server 2016 | VCP6-DCV | Commvault Professional | MBA | Se a resposta for útil, marque! | If the answer is helpfull, check!
-
-
Blz,
Vamos tentar evoluir porque está meio abstrato ainda.
O comando Get-ChildItem -Path c:\temp | select name por exemplo vai te trazer o nome de todos os arquivos dentro de uma pasta c:\temp.
Se no caminho tiver vários arquivos, você pode jogar todos os arquivos dentro de uma variável e criar um bloco de ação para cada nome por exemplo:
$nomes = Get-ChildItem -Path c:\temp
for ($nome in $nomes) {
$somentenome = $nome.name
$somentenome}
Esse bloco de ação por exemplo irá coletar todas as informações dos arquivos, colocar dentro de um bloco de ação, e assim criar uma variável que irá coletar somente o nome desse arquivo.
O que estou tentando demonstrar é que você pode criar um bloco de ação para cada arquivo sem ter que criar múltiplas variáveis, mas pra te dar um código que te atenda precisa explicar melhor o que realmente precisa fazer. Não sei se não estou entendendo muito bem qual sua demanda.
IT Specialyst | MCSE Core Infrastrucuture | MCSE Produtivity | MCSA Windows Server 2016 | VCP6-DCV | Commvault Professional | MBA | Se a resposta for útil, marque! | If the answer is helpfull, check!
-
Eu estava tentando utilzar esse codigo, só não sei como colocaria na varivel interna
Sub CommandButton7_Click()
Dim fso
Dim SubPasta
Dim x, y
Set fso = CreateObject("Scripting.FileSystemObject")
For Each SubPasta In fso.GetFolder("C:\Oscilografias\Entrada").Files
Next
Set SubPasta = Nothing
Set fso = Nothing
End Sub -
-
-