2011-07-13 64 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