2012-12-01 12 views

Odpowiedz

2

Oto długotrwały scenariusz, ale powinien działać całkiem nieźle. Używa "dir", ale możesz też spojrzeć na "forfiles". Forfiles jest bardziej elastyczny, ale tak naprawdę jest trudny w użyciu.

@echo off 
@rem USAGE: MoveDirs From To 

setlocal 

    set from="%~1" 
    set to="%~2" 

    if "%1"=="" goto :Usage 
    if "%2"=="" goto :Usage 


    for /f "delims=;" %%a in ('dir "%1" /ad /b ') do call :MoveIt "%1" "%2" "%%a" 

    goto :EOF 

:MoveIt 
    move "%~1\%~3" "%~2" > nul || echo Failed to move %3 to %2 & goto :EOF 
    echo Moved %3 to %2 
    goto :EOF 

:Usage 
    echo Usage: moveDirs.bat FromDirectory ToDirectory 
    goto :EOF 
+0

Dzięki @joeking, która działała idealnie! Uratowałeś mi mnóstwo godzin i kilka plików mojej żony! – user1868173

+0

+1, to działa dobrze – fedmich

1

Możesz również chcieć przeczytać na XCOPY. można kopiować pliki, tylko te, które nie są pustymi podkatalogami.

sprawdź polecenie, aby dowiedzieć się więcej na ten temat.

xcopy /? 
Powiązane problemy