请问批处理中的%%f是什么意思?

发布于 2021-11-27 20:11:43 字数 376 浏览 956 评论 3

在批处理文件中看到了

%%f, 查了一下,表示%f,

可是查不到%f表示什么意思。。

还有一个就是有一句话是这样的

set progs=!progs! 

请问这个如何理解呢

请问有熟悉的吗?

出现在如下的批处理中

setlocal enabledelayedexpansion

for %%f in (program*.*) do @if not %%f==programbt.c if not %%f==programpatch.c if not %%f==programsim.cset progs=!progs! %%f

type programbt.c%progs%

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

嘦怹 2021-12-01 01:29:53

谢谢回复,%f貌似是个变量? 那%f这个变量之前没有声明过,他是怎么个理解法呢?

回眸一笑 2021-12-01 01:16:51

回复
很多编程语言都是foreach类型的循环,会将每次迭代出的对象赋给一个变量。就是这种用法。

反话 2021-11-30 10:14:37

%%是转义,实际输出将是%。在xp时代,帮助文档中关于批处理这里是有明确说明的,是有相关解释的,你的for循环如果是写在批处理文件中,那么必须使用%%a代替%a。有兴趣的话你找找在线的批处理帮助文档。

!var!引用变量大多数情况和%var%引用效果一致,但是在setlocal enabledelayedexpansion选项开启的时候有特殊用途。

我的批处理压制视频的脚本也有这样的用法,并且你也只能这么用: http://git.oschina.net/abcfy2/simple_video_compress_build/blob/master/%E8%AF%B7%E6%8A%8A%E8%A7%86%E9%A2%91%E6%8B%96%E6%8B%BD%E8%87%B3%E6%AD%A4%E5%A4%84%E5%8E%8B%E5%88%B6%E8%A7%86%E9%A2%91.cmd

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文