Windows .bat 文件 0< 不确定 0 来自哪里

Windows .bat file 0< not sure from where the 0 is coming from

我的 windows .bat 文件有一个奇怪的问题,执行时 < 之前出现 0。我不知道它是从哪里得到的。下面是批处理文件的内容date1.bat

set mysql="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"
set progDir="D:\BigData.Nodejs.Firebase"
set dataDir=D:\BigData.Nodejs.Firebase\data

%mysql% -ualpha -pbeta test < "%dataDir%\LatestData - Q -201811 - INSERT DMLs.sql"

我指的问题在行

%mysql% -ualpha -pbeta test < "%dataDir%\LatestData - Q -201811 - INSERT DMLs.sql"

下面是输出

D:\BigData.Nodejs.Firebase>date1

D:\BigData.Nodejs.Firebase>set mysql="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"

D:\BigData.Nodejs.Firebase>set progDir="D:\BigData.Nodejs.Firebase"

D:\BigData.Nodejs.Firebase>set dataDir=D:\BigData.Nodejs.Firebase\data

D:\BigData.Nodejs.Firebase>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -ualpha -pbeta test  0<"D:\BigData.Nodejs.Firebase\data\LatestData - Q -201811 - INSERT DMLs.sql"

上次你看到一个“0<”不知道它从哪里得到这个 0。有没有办法避免它。

我只是想通过 windows 批处理 运行 多个文件中的 DML。

您正在查看的是命令的回显,即解释器如何评估代码。

  • 句柄 0 是标准输入,< 重定向被解释为来自句柄 0<
  • 句柄 1 是 Stdout,> 重定向被解释为来自句柄 1> 或句柄 >&1.
  • 句柄 2 是 Stderr,2> 重定向被解释为来自句柄 2> 或句柄 >&2.

句柄 3 到 9 是批处理文件特有的辅助句柄。

0表示标准输入。 0< myfile表示将myfile的内容发送到标准输入。对于 0< myfile< myfile 是 shorthand。 0 没有害处,您无需删除它。