2011-07-13 65 views
0

嗨配合,for循环移动文件

我使用下面提到的文件的移动代码。

它正在移动文件,但它迭代的次数等于正在移动到其他文件夹的文件数量。请建议所有文件都会移动,但不会在屏幕上显示多次迭代。

@echo off 
FOR /F "tokens=2 delims=_." %%i IN ('DIR /b C:\Hi\*_*.*') DO (
ECHO %%i 
move C:\Hi\*.pdf E:\%%i 
) 
PAUSE 
+0

我已经做了:)代码已被如下。 @回响 SETLOCAL enabledelayedexpansion 如果存在C:\您好\ * PDF(转到COPYFILES)否则(转到NOFILES) :COPYFILES FOR/F “令牌= 2个delims = _”。 %% i IN('DIR/b C:\ Hi \ * _ *。*')DO( ECHO %% i move C:\ Hi \ *。pdf E:\ %% i if not C :\你好\ * PDF转到:NOFILES ) :NOFILES 回声没有文件移动 PAUSE – Mareena

回答

0

我已经做了:)代码哈

@echo off 

setlocal enabledelayedexpansion 


if exist C:\Hi\*.pdf (goto COPYFILES) else (goto NOFILES) 

:COPYFILES 
FOR /F "tokens=2 delims=_." %%i IN ('DIR /b C:\Hi\*_*.*') DO (
ECHO %%i 
move C:\Hi\*.pdf E:\%%i 

if NOT exist C:\Hi\*.pdf goto :NOFILES 

) 

:NOFILES 
echo There are no files to move 



PAUSE