我有问题我有一些文件
07-01.jpg 07-02.jpg直到07-48.jpg
08-01.jpg 08-02.jpg直到08-48.jpg
...
37-01.jpg 37-02.jpg 37-03.jpg until37-48.jpg
我想创建文件夹07,08 ....,37然后将多个文件07-01.jpg,07-02.jpg,07-03.jpg移动到文件夹07中;
08-01.jpg,08-02.jpg,08-03.jpg到文件夹08;
...
37-01.jpg,37-02.jpg,37-03.jpg到文件夹37等
我可以获得任何批处理脚本来解决这个问题吗?
感谢
答案 0 :(得分:0)
好的,首先你应该做更多的研究,我个人知道其他问题就是这个。其次,你还应该展示你到目前为止的精神,以便我们可以改进它。尝试这个解决方案,如果它不起作用,请将错误消息评论给我。
@echo off
setlocal enabledelayedexpansion
Rem dont include the last backslash below
set topath="C:\users\...[path to parent directory]"
pushd %topath%
for /r %%f in (*.jpg) do (
Rem Remove the below line and the correspoonding bracket to make this include sub directories
if !topath! equ "%%~ff" (
for /f "delims=_" %%n in ("%%~f") do (
if not exist %%n md %%n
move %%f %%n
)))
这应该可以正常工作,如果没有,我可以根据你给我的数字,用for /l
循环手动制作另一个代码。
这是一个具体的解决方案:
@echo off
pushd D:\case
for /l %%a in (1,1,9) do (
md 0%%a
for /l %%b in (1,1,9) do (
if exist 0%%a_0%%b.jpg (
move 0%%a_0%%b.jpg 0%%a
)))
for /l %%a in (10,1,37) do (
md %%a
for /l %%b in (10,1,48) do (
if exist %%a_%%b.jpg (
move %%a_%%b.jpg %%a
)))
popd
有效。如果两者都不起作用,请在命令提示符下运行,这样您就可以给我一个错误消息。 莫纳