首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的`for`命令在`cmd`中运行,而不是在批处理文件中运行?

为什么我的`for`命令在`cmd`中运行,而不是在批处理文件中运行?
EN

Stack Overflow用户
提问于 2016-01-12 21:17:52
回答 1查看 34关注 0票数 0

我有下面的cmd命令,当我在批处理文件中运行这些命令时,当命令提示符终止时,它不会执行。但是当我一个接一个地手动运行它们时,它会执行。

代码语言:javascript
复制
CD /d o:\database\UK
dir *LWRKF03* *NCOM* *DTP* *LLIQ01* *LCOG01* *LCIMS02* *LCLS01* *LOLYM* *LCHUB01* *ISD* *PUKODYS01* *PUKHSSS02* /s /t:c | findstr "%date%">C:\Users\43874210\Desktop\UK\FoundFiles.TXT
for /f "tokens=5 delims= " %i in ('"dir *LWRKF03* *NCOM* *DTP* *LLIQ01* *LCOG01* *LCIMS02* *LCLS01* /s /t:c | findstr "%date%""') do copy "%i" C:\Users\43874210\Desktop\UK
for /f "tokens=5 delims= " %i in ('"dir *LWRKF03* /s /t:c | findstr "%date%""') do copy "%i" X:
for /f "tokens=5 delims= " %i in ('"dir *NCOM* /s /t:c | findstr "%date%""') do copy "%i" W:
for /f "tokens=5 delims= " %i in ('"dir *DTP* /s /t:c | findstr "%date%""') do copy "%i" T:
for /f "tokens=5 delims= " %i in ('"dir *LLIQ01* *LCOG01* *PUKODYS01* *PUKHSSS02* /s /t:c | findstr "%date%""') do copy "%i" Q:
for /f "tokens=5 delims= " %i in ('"dir *LCIMS02* *LCLS01* /s /t:c | findstr "%date%""') do copy "%i" S:
for /f "tokens=5 delims= " %i in ('"dir *LOLYM* /s /t:c | findstr "%date%""') do copy "%i" R:
for /f "tokens=5 delims= " %i in ('"dir *LCHUB01* *ISD* /s /t:c | findstr "%date%""') do copy "%i" H:
EN

回答 1

Stack Overflow用户

发布于 2016-01-12 21:42:02

在批处理文件中,您必须使用%%i而不是%i ( for /?)

示例行:

代码语言:javascript
复制
for /f "tokens=5 delims= " %%i in ('dir *LWRKF03* *NCOM* *DTP* *LLIQ01* *LCOG01* *LCIMS02* *LCLS01* /a-d /s /t:c ^| findstr "%date%"') do copy "%%i" C:\Users\43874210\Desktop\UK

(我还更正了in (....)的语法,并添加了dir参数/a-d来排除目录)

顺便说一句,对我来说,它是Tokens=4

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

https://stackoverflow.com/questions/34744777

复制
相关文章

相似问题

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