Olá pessoal, acontece o seguinte. Estou criando um sistema automático que ao ser executado ele vai ler todas os diretórios que estão dentro de um diretório específico e depois vai criar uma pasta com o nome do computador local e criar dentro desta nova pasta um arquivo txt com a lista de nomes das pastas encontrada. Preciso que este sistema fique totalmente automatizado e estou tendo o seguinte problema. Se eu digitar todos os locais Funciona que é uma beleza. O arquivo txt é criado com os nomes das pastas linh por linha. veja o código:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Dir("C:\Computadores\NomeDoPC") = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então My.Computer.FileSystem.CreateDirectory("C:\Computadores\NomeDoPC") 'Crie o diretório C:\Computadores\NomeDoPC My.Computer.FileSystem.WriteAllText("C:\Computadores\\NomeDoPC\FileList.txt", "PC", True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt End If 'Fim se My.Computer.FileSystem.DeleteFile("C:\Computadores\NomeDoPC\FileList.txt") 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\ foundFile = foundFile & vbCrLf My.Computer.FileSystem.WriteAllText("C:\Computadores\NomeDoPC\FileList.txt", foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas Next
Me.Close() End Sub
Mas se fizer o mesmo código pra funcionar com variáveis, o arquivo txt é criado escrito tudo em uma linha só. Veja o cógido:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Nome As String Dim Arq As String
Nome = ("C:\Computadores\") + AxWinsock1.LocalHostName 'Se o diretório C:Computadores\Nome do PC não existe, então Arq = Nome + ("\FileList.txt") 'Arq = 'C:Computadores\NomedoPC\FileList.txt If Dir(Nome) = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então My.Computer.FileSystem.CreateDirectory(Nome) 'Crie o diretório C:\Computadores\NomeDoPC My.Computer.FileSystem.WriteAllText(Arq, AxWinsock1.LocalHostName, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt End If 'Fim se My.Computer.FileSystem.DeleteFile(Arq) 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\ My.Computer.FileSystem.WriteAllText(Arq, foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas Next
Pergunta
serginho450
Olá pessoal, acontece o seguinte. Estou criando um sistema automático que ao ser executado ele vai ler todas os diretórios que estão dentro de um diretório específico e depois vai criar uma pasta com o nome do computador local e criar dentro desta nova pasta um arquivo txt com a lista de nomes das pastas encontrada. Preciso que este sistema fique totalmente automatizado e estou tendo o seguinte problema. Se eu digitar todos os locais Funciona que é uma beleza. O arquivo txt é criado com os nomes das pastas linh por linha. veja o código:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Dir("C:\Computadores\NomeDoPC") = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então
My.Computer.FileSystem.CreateDirectory("C:\Computadores\NomeDoPC") 'Crie o diretório C:\Computadores\NomeDoPC
My.Computer.FileSystem.WriteAllText("C:\Computadores\\NomeDoPC\FileList.txt", "PC", True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt
End If 'Fim se
My.Computer.FileSystem.DeleteFile("C:\Computadores\NomeDoPC\FileList.txt") 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt
For Each foundFile As String In
My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\
foundFile = foundFile & vbCrLf
My.Computer.FileSystem.WriteAllText("C:\Computadores\NomeDoPC\FileList.txt", foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas
Next
Me.Close()
End Sub
Mas se fizer o mesmo código pra funcionar com variáveis, o arquivo txt é criado escrito tudo em uma linha só. Veja o cógido:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Nome As String
Dim Arq As String
Nome = ("C:\Computadores\") + AxWinsock1.LocalHostName 'Se o diretório C:Computadores\Nome do PC não existe, então
Arq = Nome + ("\FileList.txt") 'Arq = 'C:Computadores\NomedoPC\FileList.txt
If Dir(Nome) = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então
My.Computer.FileSystem.CreateDirectory(Nome) 'Crie o diretório C:\Computadores\NomeDoPC
My.Computer.FileSystem.WriteAllText(Arq, AxWinsock1.LocalHostName, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt
End If 'Fim se
My.Computer.FileSystem.DeleteFile(Arq) 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt
For Each foundFile As String In
My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\
My.Computer.FileSystem.WriteAllText(Arq, foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas
Next
Me.Close()
End Sub
Como resolvo isso?
Editado por serginho450Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.