【发布时间】:2016-01-12 13:17:51
【问题描述】:
我有以下cmd 命令,当我在批处理文件中运行这些命令时,它不会在命令提示符终止时执行。但是当我手动运行这些时,它会执行。
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:
【问题讨论】:
-
在批处理文件中,您必须使用
%%i而不是%i(在for /?中描述) -
@Stephan 你应该把它变成答案。
-
@Christian.K 完成。必须先检查其他一些怪癖。
-
你说命令提示符终止,所以我猜你是通过双击运行批处理文件;您应该打开一个新的命令提示符 (
cmd) 窗口并通过在其中输入其路径(包含在""中)来运行批处理文件,这样您就可以看到任何错误消息...
标签: windows batch-file for-loop cmd