如何在PLSQL命令窗口通过SQL Spool创建Windows目录?
在Windows下通过SQL*Plus的HOST命令创建指定位置目录的解决方案
你尝试的命令里的问题梳理:
- Windows CMD的
MKDIR不识别单引号,所以HOST MKDIR 'DDL'这类带单引号的写法会把单引号当成路径的一部分,导致创建失败。 - 只写
HOST MKDIR DDL会在SQL*Plus当前工作目录创建文件夹,而非你指定的目标位置。 - 变量名拼写错误:
&foldaer_name应该是&folder_name,拼写错误会导致变量无法正常解析。
正确操作方法:
- 直接指定绝对路径创建
Windows路径用反斜杠(\),如果路径包含空格,必须用双引号包裹:
-- 在C盘根目录创建DDL文件夹 HOST MKDIR C:\DDL -- 创建带空格的路径,比如C:\我的DDL文件 HOST MKDIR "C:\我的DDL文件"
- 用变量指定路径
先定义正确的变量,路径有空格时记得给变量加双引号:
-- 定义无空格的路径变量 DEFINE folder_name = C:\工作目录\DDL HOST MKDIR &folder_name -- 定义带空格的路径变量 DEFINE folder_name = "C:\工作目录\我的DDL" HOST MKDIR &folder_name
- 使用!执行命令(和HOST功能等效)
在SQL*Plus里!和HOST功能一致,遵循CMD语法即可:
! MKDIR C:\DDL ! MKDIR "C:\我的DDL文件"
注意$在Windows版SQL*Plus里不生效,这是Unix/Linux下的用法。
- 确认当前工作目录
如果不清楚SQL*Plus当前所处目录,先执行以下命令查看,再决定使用相对还是绝对路径:
HOST CD
内容的提问来源于stack exchange,提问作者Palanivel Jayaraman
相关产品推荐
相关产品推荐

