首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批处理脚本中带有空格的路径名

批处理脚本中带有空格的路径名
EN

Stack Overflow用户
提问于 2014-04-23 19:39:41
回答 1查看 6.2K关注 0票数 1

我对批处理脚本中目录名中的空格有问题。

我存储一个基本目录,然后使用它生成子目录和文件,如下所示:

代码语言:javascript
运行
复制
set basepath=c:\some\path
set logdir=%basepath%\log
set logfile=%logdir%\test.log

但是一些服务器上的基本路径中有空间。早些时候,我使用dir /x来获得缩短的8.3名,但是我遇到了一个服务器无法工作(显然有一些设置可以禁用它,并且我没有权限打开它)。所以现在我想弄清楚。我需要将文件名/目录连接到basepath,basepath中可能有空格。我试过用双引号,但没有用。

在命令提示符下,您可以使用双引号目录和非双引号目录的组合来执行类似cd "some path"\with\spaces的操作。但这在批处理脚本中不起作用。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 19:56:16

代码语言:javascript
运行
复制
set "basePath=c:\somewhere\over the rainbow"
set "logDir=%basePath%\logs"
set "logFile=%logDir%\kansas.log"

>> "%logFile%" echo This is a test
cd "%logDir%"

不要在变量值中插入引号(除非是必要的)。

使用引号连接set命令,以确保变量中不存储任何对位空间,并保护特殊字符。

将引号放在使用变量的最终命令中的正确位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23253725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档