【发布时间】:2020-01-30 22:36:56
【问题描述】:
从 9.3 版开始,可以将命令行的输出导入表格。 我正在使用 Windows,我想在(临时)表中导入
的输出wmic logicaldisk get size, freespace, caption
Caption FreeSpace Size
C: 7454072832 118087389184
D: 151787872256 484033048576
E:
F: 110551040 625094656
G: 136850108416 481803997184
V: 272621289472 990730260480
X: 272621289472 990730260480
Y: 272621289472 990730260480
我试了查询
CREATE TABLE IF NOT EXISTS _disks(row text);
TRUNCATE TABLE _disks;
COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption' ESCAPE '\\' CSV;
SELECT * FROM _disks;
ERROR: COPY escape must be a single one-byte character
然后我尝试了
COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption' ESCAPE '\' CSV;
ERROR: unquoted newline found in data
再来一次
COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption';
ERROR: unquoted newline found in data
我尝试了其他不同的解决方案,但我被卡住了。
有什么建议吗?
编辑:
也许这样的事情可以让我接近,但还不够
COPY _disks FROM PROGRAM 'for /f "tokens=*" %F in (''wmic logicaldisk get size^, freespace^, caption'') do @echo %F';
我认为有一种方法可以修改EOL,并且可能会通过这种模式,但是我错过了一些东西...
【问题讨论】:
标签: postgresql cmd diskspace