如何使用标准Windows命令行从SQL文件中读取第一行

时间:2018-01-22 16:06:37

标签: batch-file command-line

是否可以从windows命令行中的.sql文件中只读取第一行?

如果是这样,我怎么能这样做 - 谷歌还没有提出一个有效的解决方案。

我所拥有的只是标准的Windows命令提示符

2 个答案:

答案 0 :(得分:1)

这看起来像是这个问题的副本; Windows batch command(s) to read first line from text file

引用该票证中接受的答案;

这是一个通用的批处理文件,用于打印GNU n实用程序等文件中的前head行,而不只是一行。

@echo off

if [%1] == [] goto usage
if [%2] == [] goto usage

call :print_head %1 %2
goto :eof

REM
REM print_head
REM Prints the first non-blank %1 lines in the file %2.
REM
:print_head
setlocal EnableDelayedExpansion
set /a counter=0

for /f ^"usebackq^ eol^=^

^ delims^=^" %%a in (%2) do (
        if "!counter!"=="%1" goto :eof
        echo %%a
        set /a counter+=1
)

goto :eof

:usage
echo Usage: head.bat COUNT FILENAME

例如:

Z:\>head 1 "test file.c"
; this is line 1

Z:\>head 3 "test file.c"
; this is line 1
    this is line 2
line 3 right here

它目前不计算空行。它还受批量文件行长度限制8 KB的限制。

答案 1 :(得分:0)

只读取(文本)文件的第一行:

<file.txt set /p line=
echo %line% 

这是最简单的解决方案。根据内容(毒药字符),echo可能会失败。