SQL*Plus 脚本中带空格的文件夹名称

Posted

技术标签:

【中文标题】SQL*Plus 脚本中带空格的文件夹名称【英文标题】:Folder name with space in SQL*Plus script 【发布时间】:2017-06-05 06:59:21 【问题描述】:

我编写了以下脚本来创建一个新文件夹

column mn new_value _mn;
select '\\common\jds\Daily report\DailyReport2017\\'||tochar(sysdate,'mon')||'\';
host mkdir &_mn;

但它会引发错误

'The specified path is invalid.
Error occurred while processing \\common\jdfs\Daily',

因为名字中有空格

如何创建文件夹

【问题讨论】:

在一个字符串中,双引号将它们转义。例如。 'tochar(sysdate,''mon'')' 添加数据库标签会有很大帮助。 我现在不在 Linux 提示符附近,但请尝试 host mkdir "&_mn";,即在目录名称周围加上双引号。 (如果失败,也可以使用单引号。host 命令可能会吃掉一层引号。) 【参考方案1】:

与 Windows 不同,Linux 中的默认文件夹分隔符是 /,并且必须使用 反斜杠 (\) 对空格进行转义。因此,我会尝试使用它:

select '/common/jds/Daily\ report/DailyReport2017/' || tochar(sysdate,'mon')  || '/';

【讨论】:

以上是关于SQL*Plus 脚本中带空格的文件夹名称的主要内容,如果未能解决你的问题,请参考以下文章

SQL*Plus 中带有多个参数的假脱机输出

Git添加一个名称中带有空格的文件夹

如何在 python 中导入名称中带有空格的文件?

如何检查批处理脚本中带有空格的路径中文件的大小

将 URL 回显到网络驱动器上名称中带有空格的文件

让 ghostscript 接收名称中带有空格的文件(例如“我的文档”中的某些内容)