Como o conteúdo dos arquivos em lote pode ser transferido para o bloco de notas ou para o Excel?

0

Eu tenho uma lista de arquivos em lote. Eu quero transferir todo o conteúdo de todos os arquivos em um único bloco de notas ou planilha, criando uma lista.

    
por Rajkamal kewlani 16.01.2018 / 07:50

3 respostas

0

Eu faria isso no powershell. Supondo que todos os arquivos em lote sejam colocados em uma pasta.

----- Copie e cole todo o texto abaixo desta linha em 1 scriptfile -----

#### Determine the location of all batchfiles
$BatchesFolder = "E:\Batches"

#### Determine the file for all collected data
$resultfile = "E:\Data\results.txt"

#### Read all files in batch folder
$batchfiles = (Get-ChildItem $BatchesFolder).fullname

#### Read each file and store data in result file
Foreach ($file in $batchfiles)
    {
    "--- Content of file $file ---" | Out-File -FilePath $resultfile -Append
    get-content $file | Out-File -FilePath $resultfile -Append
    }
    
por 16.01.2018 / 08:58
0

Usando cmd.exe :

type C:\PathToBatchFiles\* > C:\PathToOutputFolder\OutputFile.txt

O conteúdo de cada arquivo dentro do diretório PathToBatchFiles será impresso em OutputFile.txt sem nenhum separador de nome de arquivo.

    
por 16.01.2018 / 16:54
0

Isso é do Excel usando VBA .

Eu tenho alguns arquivos .bat em uma pasta chamada Belfry :

ExecutandoestamacroVBA:

SubBatLister()Dims1AsWorksheet,s2AsWorksheetDimWhereToLookAsString,FileNameAsStringDimfPathAsString,FileSpecAsStringDimLAsLong,iAsLong,jAsLongSets1=Sheets("bat dir")
    Set s2 = Sheets("bat list")
    s1.Cells.Clear
    s2.Cells.Clear
    WhereToLook = "C:\Users\garys\Documents\Belfry\*.bat"
    fPath = "C:\Users\garys\Documents\Belfry\"

    L = 1
    FileName = Dir(WhereToLook)
    FileSpec = fPath & FileName
    Do Until FileName = ""
        s1.Cells(L, 1) = FileSpec
        L = L + 1
        FileName = Dir()
        FileSpec = fPath & FileName
    Loop

    j = 1
    For i = 1 To L - 1
        FileSpec = s1.Cells(i, 1).Value
        s2.Cells(j, 1) = FileSpec
        j = j + 1
        Close #2
        Open FileSpec For Input As #2
        Do While Not EOF(2)
            Line Input #2, TextLine
            s2.Cells(j, 2) = TextLine
            j = j + 1
        Loop
    Next i
    Close #2
End Sub

produzirá uma listagem de todos os arquivos .bat na pasta.

Os nomes dos arquivos na coluna A e o conteúdo do arquivo na coluna B :

    
por 16.01.2018 / 17:19