У меня есть список командных файлов. Я хочу перенести все содержимое всех файлов в один блокнот или таблицу Excel, составив список.

3 ответа3

0

Я бы сделал это в PowerShell. Предполагая, что все командные файлы размещены в 1 папке.

----- Скопируйте и вставьте весь текст ниже этой строки в 1 скрипт-файл -----

#### 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
    }
0

Использование cmd.exe:

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

Содержимое каждого файла в каталоге PathToBatchFiles будет напечатано в OutputFile.txt без каких-либо разделителей имени файла.

0

Это из Excel, используя VBA.

У меня есть несколько .bat файлов в папке с названием Belfry:

Запуск этого макроса VBA :

Sub BatLister()
    Dim s1 As Worksheet, s2 As Worksheet
    Dim WhereToLook As String, FileName As String
    Dim fPath As String, FileSpec As String
    Dim L As Long, i As Long, j As Long

    Set s1 = 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

выдаст список всех .bat файлов в папке.

Имена файлов в столбце A и содержимое файла в столбце B:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .