1

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

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

我很喜欢编写批处理文件。花了几个小时试图零碎地列出这个网站上列出的类似代码以满足我的需要,但无济于事。

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

4

1 回答 1

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
于 2013-04-23T21:40:46.520 回答