代码之家  ›  专栏  ›  技术社区  ›  Stefan Steiger Marco van de Voort

如何在合并到文件之前向“type<filename>”DOS命令添加字符串?

  •  1
  • Stefan Steiger Marco van de Voort  · 技术社区  · 15 年前

    问:我有几个文本文件包含sql create table/column/view/storedProcedure文本文件。现在我想把文本文件合并成一个文本文件。

    我进入目录,键入:

    type *.sql >> allcommands.sql
    

    type *.sql >> allcommands.sql & echo  GO  >> allcommands.sql
    

    但这只去一次。

    4 回复  |  直到 15 年前
        1
  •  6
  •   Gabe Timothy Khouri    15 年前

    你想要这样的东西:

    for %%f in (*.sql) do type %%f >>allcommands.sql & echo GO >> allcommands.sql
    

    %% 用于批处理文件。如果不是从批处理文件运行它,则只需要单个%符号。

        2
  •  3
  •   Amarjeet Singh    13 年前

    for %%f in (*.sql) do (
    type %%f >>allcommands.sql
    echo. >> allcommands.sql
    echo GO >> allcommands.sql
    echo. >> allcommands.sql )
    

    它为每个SQL文件添加换行符。对我有用试试看。

        3
  •  0
  •   mcandre    15 年前

    使用 copy

        4
  •  0
  •   Carsten    15 年前
    @echo off
    CLS
    ::concat.bat outfile.sql
    setlocal EnableDelayedExpansion
    
    If EXIST GOTMP.TMP DEL /Q GOTMP.TMP
    Echo GO>GOTMP.TMP
    ECHO.>>GOTMP.TMP
    
    If EXIST "%~1" DEL /Q "%~1"
    Echo.>"%~1"
    
    for /f "tokens=*" %%A in ('dir  /a-d /on /b "*.sql"') do call :perfaction "%%A%" "%~1"
    ECHO Done Generating Output "%~1"
    ECHO.
    pause
    Goto :EOF
    
    :perfaction
    ECHO "%~1"
    copy "%~2"+"%~1"+GOTMP.TMP "%~2"
    GOTO :EOF