Arquivo em lote para o nome do arquivo de saída para o arquivo csv
- Questão
- Solução
- Nota
Questão
Eu estou olhando para escrever um arquivo em lotes do Windows que irá procurar por um arquivo fixo em uma pasta fixa (ou seja, c: folderfile1.csv) e usar o comando dir para a saída do nome do arquivo e última data escrita para um segundo arquivo CSV : folderfile2.csv). A saída deve estar em duas colunas e será algo assim quando você abrir o arquivo2.csv:
file1.csv 10/14/2008 15:38
Este parece ser um lote bastante simples, mas eu estou lutando para limitar minha saída para apenas esses dois atributos e colocá-los nas duas primeiras colunas e na primeira linha do arquivo2.csv
Qualquer ajuda seria muito apreciada. Obrigado!!!
Solução
O script que você precisa é o seguinte:
____________________Código inicial__________________
Dim Filepath Dim Nome do Arquivo Dim OutputFile Filepath = "c: test \" 'Edite isso para especificar o caminho do arquivo Filename = "file1.csv"' Nome do arquivo que a última data / hora editada é necessária OutputFile = "file2.csv" 'Arquivo a resultados de saída para Set objFSO = CreateObject ("Scripting.FileSystemObject") Se não objFSO.FileExists (FilePath & OutputFile), em seguida, defina objFile = objFSO.CreateTextFile (Filepath & OutputFile) Wscript.sleep (2000) 'Pausa enquanto o arquivo está sendo criado If Se objFSO.FileExists (Filepath e nome de arquivo), em seguida, defina objFile = objFSO.GetFile (Filepath e nome do arquivo) Lastmodifieddate = objFile.DateLastModified Const ForWriting = 2 Defina outputFile = objFSO.OpenTextFile (Filepath & "file2.csv", ForWriting) 'Abrir arquivo para escrever OutputFile.Write Filename & ", " & objFile.DateLastModified 'Gravar nome do arquivo e data da última modificação no arquivo de saída OutputFile.Close End If set objFSO = Nothing
____________________Código Final__________________
As três variáveis, caminho de arquivo, nome do arquivo e arquivo de saída que são configurados nas linhas 5, 6 e 7 podem ser modificadas para pegar qualquer caminho e nome de arquivo especificados e criarão o arquivo na linha 7 no mesmo caminho.
Se você salvar esse código como arquivo test.vbs, então, no seu arquivo de lote, você precisará inserir a linha "Call test.vbs". Obviamente, se você alterar o nome do arquivo vbs, será necessário alterar a referência a ele no arquivo de lote.
Nota
Obrigado ao Swarve por esta dica no fórum.