如何使用Windows批处理将奇数附加到文件夹名称?

时间:2013-04-23 21:15:35

标签: windows batch-file

我使用了在此站点上找到的批处理脚本来创建50个州的目录,其中包含大约3000个县的子目录。

不幸的是,我将要复制到目录中的文件是FIPS代码。 FIPS代码只是一系列奇数,从001开始,适用于按州的字母顺序列表。例如,阿拉巴马州首先将Autauga县作为FIPS代码为001的第一个按字母顺序排列的县,第二个县是带有FIPS代码003的Baldwin等等,最后以温斯顿县的FIPS代码为133.所以我需要将FIPS代码3位数附加到县文件夹名称,即Autauga_001。我认为它就像添加n + = 2一样简单但它需要从001开始?

我非常认真地编写批处理文件。花了好几个小时试图粉碎本网站上列出的类似代码以满足我的需求,但无济于事。

我该怎么做呢?提前致谢。

1 个答案:

答案 0 :(得分:0)

如果输出正常,请尝试此操作并删除echo命令:

@echo off&setlocal enabledelayedexpansion
rem set root to the subfolder, where the 50 state folders are inside
set "root=states"

pushd "%root%"
for /d %%i in (*) do (
    set /a counter=1001
    for /d %%j in ("%%~fi\*") do (
        set "newname=%%~nj_!counter:~-3!%%~xj"
        echo rename "%%~fj" "!newname!"
        set /a counter+=2
    )
)
popd