是否可以从windows命令行中的.sql文件中只读取第一行?
如果是这样,我怎么能这样做 - 谷歌还没有提出一个有效的解决方案。
我所拥有的只是标准的Windows命令提示符
答案 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
可能会失败。