该命令直接在终端运行是可以的### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
newDbName="C:\\Users\\ma\\Desktop\\sqlite3\\malformed\\root\\test.db"
path = "C:\\Users\\ma\\Desktop\\sqlite3\\malformed\\root"
dmt := fmt.Sprintf("/c %s&cd %s&sqlite3.exe %s \".read tmp.sql\"", path[0:2], path, newDbName)
cmd := exec.Command("cmd.exe", dmt)
out1, err := cmd.CombinedOutput()
if err != nil{
fmt.Println(err)
}
不用转义符也不行。
newDbName = "C:\\Users\\ma\\Desktop\\sqlite3\\malformed\\root\\test.db"
path = "C:\\Users\\ma\\Desktop\\sqlite3\\malformed\\root"
dmt := fmt.Sprintf(`%s&cd %s&sqlite3.exe %s ".read tmp.sql"`, path[0:2], path, newDbName)
cmd := exec.Command("cmd.exe", dmt)
out1, err := cmd.CombinedOutput()
if err != nil{
fmt.Println(err)
}
你期待的结果是什么?实际看到的错误信息又是什么?
本来是要输出test.db文件,倒是报错了, unrecognized token: "".read"
cmd打印出來是這樣的:C:\windows\system32\cmd.exe /c C:\Users\ma\Desktop\sqlite3\malformed\root\sqlite3.exe C:\Users\ma\Desktop\sqlite3\malformed\ root\test.db ".read tmp.sql"
没人回答是怎么回事呢