如何创建仅移动子目录的批处理文件,而不是主目录

use*_*173 5 command-line batch-file

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

源路径是c:\ book\music \

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

我可以使用什么代码来执行此操作?请注意拼写代码,因为我是命令行的宝贝:)

joe*_*ing 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
Run Code Online (Sandbox Code Playgroud)