您好我需要一个脚本来为一组图像创建文件夹,并使用图像名称重命名文件夹,在示例后面的批处理或PowerShell中重命名。 我不是程序员而且不会说英语抱歉
前
Directory root:
AA_1.jpg
AA_2.jpg
AA_3.jpg
BB_0.jpg
BB_1.jpg
BB_2.jpg
之后
Directory root:
subdirectoryAA
AA_1.jpg
AA_2.jpg
AA_3.jpg
subdirectoryBB
BB_0.jpg
BB_1.jpg
BB_2.jpg
答案 0 :(得分:1)
起点:复制下面的代码,粘贴到记事本中,更改pushd
出现的行,保存为anyname.bat
(参见输出示例中的29448342.bat
)
@ECHO OFF >NUL
SETLOCAL enableextensions disabledelayedexpansion
rem Change the current directory to "Directory root"
pushd "D:\test\29448342"
rem main loop
for %%G in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
rem make destination directory
md %%G%%G 2>NUL
rem move files of a given pattern to destination directory
if exist "%%G%%G*.jpg" move "%%G%%G*.jpg" "%%G%%G\"
)
rem Change the current directory back (cf. previous pushd)
popd
ENDLOCAL
goto :eof
<强>输出强>:
d:\bat>dir /B /S D:\test\29448342\*.jpg
D:\test\29448342\AA_1.jpg
D:\test\29448342\AA_long name 2.jpg
D:\test\29448342\FF_1.jpg
D:\test\29448342\FF_long name 2.jpg
D:\test\29448342\GG_1.jpg
D:\test\29448342\GG_long name 2.jpg
d:\bat>D:\bat\StackOverflow\29448342.bat
D:\test\29448342\AA_1.jpg
D:\test\29448342\AA_long name 2.jpg
2 file(s) moved.
D:\test\29448342\FF_1.jpg
D:\test\29448342\FF_long name 2.jpg
2 file(s) moved.
D:\test\29448342\GG_1.jpg
D:\test\29448342\GG_long name 2.jpg
2 file(s) moved.
d:\bat>dir /B /S D:\test\29448342\*.jpg
D:\test\29448342\AA\AA_1.jpg
D:\test\29448342\AA\AA_long name 2.jpg
D:\test\29448342\FF\FF_1.jpg
D:\test\29448342\FF\FF_long name 2.jpg
D:\test\29448342\GG\GG_1.jpg
D:\test\29448342\GG\GG_long name 2.jpg
d:\bat>
资源(必读):