How do I increment a folder name using Windows batch?

后端 未结 3 828
没有蜡笔的小新
没有蜡笔的小新 2020-12-02 02:00

I\'ve got a batch script that creates a folder named New_Folder and a few subdirectories and files within. Currently, if I need to create multiple New_Folders I have to rena

3条回答
  •  广开言路
    2020-12-02 02:46

    This solution find the largest numbered name, and create the next one to it:

    @echo off
    for /d %%d in (New_Folder*) do set lastFolder=%%d
    set /A nextFolder=%lastFolder:*New_Folder=% + 1
    mkdir New_Folder%nextFolder%
    

    EDIT: Previous solution doesn't correctly get the last numbered folder, but the next one is correct:

    @echo off
    setlocal EnableDelayedExpansion
    set lastFolder=0
    for /d %%d in (New_Folder*) do (
       set folder=%%d
       set folder=!folder:New_Folder=!
       if not defined folder set folder=0
       if !folder! gtr !lastFolder! set lastFolder=!folder!
    )
    set /A nextFolder=lastFolder+1
    mkdir New_folder%nextFolder%
    

提交回复
热议问题