2

寻找可以帮助我解决此问题的想法。

我有很多音乐,其中大部分按 [艺术家文件夹] [专辑文件夹] [cd 文件夹] [文件] 的顺序排列,我希望能够快速将所有音乐文件置于 [艺术家] 级别。

我并不期待奇迹,所以我在想是否可以将其设置为右键单击命令,就像 WinRar 对 Extract Here 所做的那样,这应该使该文件夹中的所有内容都提升一个级别?

所以我需要能够

  1. 调用我的批处理,并将其传递给目标文件夹。
  2. 让批处理选择其中的所有文件/文件夹并移动到与目标文件夹相同的级别。即使我需要为一位艺术家多次点击/点击,也要尽量保持简单!

在此先感谢您的帮助、指点或进一步阅读!

4

1 回答 1

0

这是一个将根目录下的所有文件移动到根目录的脚本。"Moveit.bat C:\my\music" 将找到该目录下的所有内容并将它们移动到 C:\my\music。

第 27 行被注释掉了……所以脚本只会告诉你它会做什么。取消注释第 27 行以使其实际工作。

    @echo off
@rem USAGE: MoveIt root

setlocal

    pushd "%~1"
    set root=%CD%

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

    for /f "delims=;" %%a in ('dir /a-d /b /s ') do call :MoveIt "%%a"

    goto :EOF

:MoveIt
    rem Exclude files directly under "from"
    set target=%~d1%~p1
    if "%target:~2%"==":\" (
        if "%target%"=="%root%" (
            goto :EOF
        )
    ) else if "%target:~0,-1%"=="%root%" (
        goto :EOF
    )

    echo move "%~1" "%root%"
    rem move "%~1" "%root%" > nul || echo Failed to move "%~1" to "%root%" & goto :EOF
    goto :EOF

:Usage
    echo Usage: moveit.bat  RootDirectory
    goto :EOF
于 2013-09-19T21:09:38.713 回答