用于创建文件夹的脚本

时间:2015-04-04 15:48:49

标签: powershell batch-file

您好我需要一个脚本来为一组图像创建文件夹,并使用图像名称重命名文件夹,在示例后面的批处理或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

1 个答案:

答案 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>

资源(必读):