首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >cmd文件中的%和%%有什么区别?

cmd文件中的%和%%有什么区别?
EN

Stack Overflow用户
提问于 2013-01-25 03:57:47
回答 1查看 133.4K关注 0票数 100

我最近在一个.cmd文件中添加了类似以下内容的一行:

代码语言:javascript
复制
for /f %%f in ('dir /b .\directory\*.sql') DO sqlcmd -b -o ".\directory\output\%%f.txt" -i ".\directory\%%f"

最初我只使用了%f,在命令行上运行时它可以正常工作,但在整个文件中运行时就不行了。当我切换到%%f时,它在文件中工作。只是想知道有什么不同。

EN

回答 1

Stack Overflow用户

发布于 2013-01-25 04:23:36

在DOS中,您不能在命令行上使用环境变量,只能在批处理文件中使用环境变量,在批处理文件中,它们使用%符号作为分隔符。如果您希望在批处理文件中使用文字%符号,例如在echo语句中,则需要将其加倍。

这延续到了Windows NT,它允许在命令行上使用环境变量,但是为了向后兼容,您仍然需要在.cmd文件中使用双倍的%符号。

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

https://stackoverflow.com/questions/14509652

复制
相关文章

相似问题

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