sqlite3使用.cd命令无法切换当前工作目录问题求助
问题出在以下两点
- 路径包含空格未做包裹处理:你输入的
.cd E:\My data\Learning\sql file中,路径包含多处空格,SQLite的点命令会把空格识别为参数分隔符,实际执行时只会识别E:\My作为要切换的目标路径,参数无效自然切换失败。 - 工作目录查询方法错误:
.shell cd是启动一个独立的cmd子进程执行cd命令,子进程的工作目录状态不会同步到SQLite主进程,用这个命令查询不到SQLite真实的当前工作目录。
解决方案
方法1:正确切换工作目录后读取文件
- 执行带引号包裹的cd命令,避免空格导致的解析错误:
sqlite> .cd "E:\My data\Learning\sql file"
- 执行不带参数的
.cd命令,验证当前工作目录是否切换成功,命令执行后会直接打印SQLite当前的工作路径:
sqlite> .cd
- 确认路径正确后,直接用
.read命令读取同目录下的.sql文件即可:
sqlite> .read 你的目标文件.sql
方法2:直接传绝对路径读取文件
不需要切换工作目录,直接给.read命令传入带引号包裹的.sql文件绝对路径即可:
sqlite> .read "E:\My data\Learning\sql file\你的目标文件.sql"
内容的提问来源于stack exchange,提问作者Jasmine N
相关产品推荐
相关产品推荐

