【发布时间】:2015-11-01 19:08:04
【问题描述】:
我正在尝试修改 Magoo 发布的脚本,以根据文件名创建文件夹并将相关文件移动到这些目录。每个实例有 2-4 个同名但扩展名不同的文件。名称用 -(连字符)分隔。这些是音乐文件,因此应该将多个集合移到作为标题的文件夹中,以反映分隔符之前的所有内容。
@ECHO OFF
SETLOCAL
SET "sourcedir=F:\Test"
PUSHD "%sourcedir%"
FOR /f "delims=-" %%a IN (
'dir /b /a-d *.mp3 *.cdg *.PLX '
) DO (
SET "filename=%%a"
SET "dirname=%%a"
CALL :genmove
)
popd
GOTO :EOF
:genmove
IF "%dirname:~-1%" neq " " set "dirname=%dirname:~0,-1%"&goto genmove
set "dirname=%dirname:~0,-1%"
MD "%dirname%"
MOVE "%filename%" ".\%dirname%\"
GOTO :eof
到目前为止我的问题:
- 如果我定义了分隔符,则文件夹创建正确,但 文件没有移动。
- 如果我消除分隔符,文件将被移动 但是每组都被移动到一个包含整个文件的唯一文件夹中 名字。
- 在“dir”字符串中使用
*.*不起作用,所以我定义了每个扩展名
非常感谢 Ant 的帮助。
【问题讨论】: