5

如何移动主文件夹中的所有子文件夹,而不是主文件夹本身。

源路径为 c:\book\music\

我不想移动主文件夹本身,因为我收到 I/O 设备错误。

我可以使用什么代码来执行此操作?请把代码拼出来,因为我是一个使用命令行的婴儿 :)

4

2 回答 2

2

这是一个较长的脚本,但它应该工作得很好。它使用“dir”,但您也可以查看“forfiles”。forfiles 比较灵活,但是真的很难用。

@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
于 2012-12-01T06:38:08.643 回答
1

您可能还想阅读 XCOPY。您可以复制文件,只有那些不是空子目录的文件。

检查命令以了解更多信息。

xcopy /?
于 2012-12-01T06:50:16.620 回答