好的,首先你应该做更多的研究,我个人知道其他问题都在这。其次,您还应该展示您目前拥有的脚本,以便我们对其进行改进。试试这个解决方案,如果它不起作用,请给我评论错误消息。
代码:
@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
那必须奏效。如果两者都不起作用,请在命令提示符下运行它,以便您可以给我一条错误消息以供使用。莫娜