2010-10-08 92 views
3

任何人都可以幫助我批處理窗口循環?我想使腳本,讓我做這樣的事情:批處理(xcopy所有文件到文件夾)與循環

1. copy all folders and files from Drive I: to X:\folder0001; 
2. when done display: "Done"; (i ejected cd) 
3. "enter" to next copy; 

1. copy all folders and files from Drive I: to X:\folder0002; 
2. when done display: "Done"; (i ejected cd) 
3. "enter" to next copy; 

... 

1. copy all folders and files from Drive I: to X:\folder0010; 
2. when done display: "Done"; (i ejected cd) 
3. "enter" to next copy; 


button q = exit 

副本我做的手動更改號碼使用命令:

在(我:)做XCOPY %%˚F%% ˚F X:\ folder001 \/E,

我只想按回車鍵改變CD

,但我不知道如何來創建此腳本:(

+0

你是否總是將相同的東西複製到X上的不同文件夾名稱:每次(x:\ folder0001,x:\ folder0002等)? – Kev 2010-10-08 18:04:42

+0

是的,總是從(相同的I:\\)cdrom到磁盤上的不同文件夾名稱(X:\ folder0001,folder0002 ...)。謝謝!有用! – pablo 2010-10-08 19:05:34

回答

3

嘗試以下操作:

@echo off 
setlocal enabledelayedexpansion 
set number=1 
FOR /L %%C IN (1,1,100) DO (
    set dest=!number! 
    for %%N in (9999 999 99 9) do if !number! LEQ %%N set dest=0!dest! 
    xcopy I\*.*I:\folder!dest!" /E /I 
    ECHO *** CHANGE CD OR CTRL-C TO QUIT**** 
    PAUSE 
    set /a number+=1 
) 

我不認爲有一種方法來檢查鍵盤輸入。

+0

謝謝您Kev。你的腳本對我來說工作得很好! – pablo 2010-10-08 19:06:25

0

並非所有在這裏幫助,但至少有一些:)

@echo off 
if %1. == . GOTO NOPARM 
if %2. == . GOTO NOPARM 

FOR /F "tokens=*" %%G IN ('DIR /B /AD %1*') XCOPY %%G %2 /e 

GOTO END 

:NOPARM 
echo missing folder name 

:END 

消息丟失...不知道如何暫停它在每次迭代:(

+0

感謝您的回答;) – pablo 2010-10-08 19:07:51