我试图修改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到目前为止,我的问题:
*.*不起作用,所以我定义了每个扩展蚂蚁的帮助将不胜感激。
发布于 2015-11-02 00:39:40
我想通了。我刚给*添加了一个MOVE "%filename%" ".\%dirname%\"
使它成为MOVE "%filename%*" ".\%dirname%\"
它将集体文件移动到适当的目录。我仍然希望在FOR /f中有一个通配符,而不是定义每一种类型的扩展,但是现在这是可行的。
https://stackoverflow.com/questions/33466058
复制相似问题