我的Windows .bat文件有一个奇怪的问题,在执行时<前要有一个0。我不知道它从哪里得到的。以下是批处理文件date1.bat的内容
set mysql="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"
set progDir="D:\BigData\14.Nodejs\3.Firebase"
set dataDir=D:\BigData\14.Nodejs\3.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\14.Nodejs\3.Firebase>date1
D:\BigData\14.Nodejs\3.Firebase>set mysql="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"
D:\BigData\14.Nodejs\3.Firebase>set progDir="D:\BigData\14.Nodejs\3.Firebase"
D:\BigData\14.Nodejs\3.Firebase>set dataDir=D:\BigData\14.Nodejs\3.Firebase\data
D:\BigData\14.Nodejs\3.Firebase>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -ualpha -pbeta test 0<"D:\BigData\14.Nodejs\3.Firebase\data\LatestData - Q -201811 - INSERT DMLs.sql"
最后一次看到的是“ 0 <”,不确定从何处获得0。有没有办法避免它。
我只是试图通过Windows批处理在多个文件中运行DML。
答案 0 :(得分:1)
您正在查看的是解释器如何评估代码的命令回显。
import java.time.LocalDate
import shapeless.LabelledGeneric
import shapeless.record._
case class BaseModel(id: String,
createdBy: String,
attr1: Option[String] = None,
attr2: Option[Int] = None,
attr3: Option[LocalDate] = None)
case class BaseModel1(id: String,
createdBy: String,
attr2: Option[Int] = None,
attr3: Option[LocalDate] = None)
val bm = BaseModel(
id = "cff4545gvgf",
createdBy = "John Doe",
attr2 = Some(42),
attr3 = Some(LocalDate.parse("2018-11-03"))
) // BaseModel(cff4545gvgf,John Doe,None,Some(42),Some(2018-11-03))
val hlist = LabelledGeneric[BaseModel].to(bm)
val hlist1 = hlist - 'attr1
val bm1 = LabelledGeneric[BaseModel1].from(hlist1)
// BaseModel1(cff4545gvgf,John Doe,Some(42),Some(2018-11-03))
重定向被解释为来自句柄<
。0<
重定向被解释为从句柄>
或到句柄1>
。>&1
重定向被解释为从句柄2>
或到句柄2>
。句柄3至9是批处理文件特有的辅助句柄。
答案 1 :(得分:1)
0
表示标准输入。 0< myfile
表示将myfile的内容发送到标准输入。 < myfile
是0< myfile
的简写。 0
无害,您不需要摆脱它。