【发布时间】:2014-12-08 16:31:41
【问题描述】:
我找到了 magoo 的帖子并一直在玩它。我似乎无法让 DIR 部分解析出文件名以创建文件夹并将文件移动到相应的文件夹中。以下是我正在使用的文件的示例:
...
800.1.gif
800.2.gif
800.3.jpg
801.1.gif
801.2.jpg
801.3.gif
...
批处理应创建文件夹 800 和 801 并分别移动 800.X 和 801.X 文件。我已经尝试过 FINDSTR 和其他面具,但运气不佳。
这里是magoo的原始批处理代码(来源:http://bit.ly/1ua8IIF):
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
PUSHD %sourcedir%
FOR /f "tokens=1*" %%a IN (
'dir /b /a-d "*_*_*-*-* *.*"'
) DO (
ECHO MD %%a
ECHO MOVE "%%a %%b" .\%%a\
)
POPD
GOTO :EOF
几个小时后我的尝试:
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
PUSHD %sourcedir%
FOR /f "tokens=1*" %%a IN (
'dir /b /a-d ^|findstr /r "\.[1-9]"'
) DO (
ECHO MD %%a
ECHO MOVE "%%a %%b" .\%%a\
)
POPD
GOTO :EOF
我仍然在玩它,但任何帮助将不胜感激!
【问题讨论】:
标签: windows batch-file directory dir findstr