Batch file 顺序填充数字前缀下划线,根据txt文件列表复制到新文件夹

Batch file 顺序填充数字前缀下划线,根据txt文件列表复制到新文件夹,batch-file,copy,text-files,filenames,sequential,Batch File,Copy,Text Files,Filenames,Sequential,我想我真的很接近。我不擅长这类东西,但我已经拼凑了在这里搜索到的代码。也许你能找出我做错了什么。以下是我得到的: @echo off setlocal enableextensions disabledelayedexpansion set /p "number=Please enter the starting control number:" || goto :eof for /f "delims=" %%a in (List.txt) do ( setl

我想我真的很接近。我不擅长这类东西,但我已经拼凑了在这里搜索到的代码。也许你能找出我做错了什么。以下是我得到的:

@echo off
    setlocal enableextensions disabledelayedexpansion

    set /p "number=Please enter the starting control number:" || goto :eof

    for /f "delims=" %%a in (List.txt) do (
    setlocal enabledelayedexpansion
    for %%b in (!number!) do (
        endlocal
         echo copy "%%~fa" "c:\myfolder\%%b_%%~nx"
    )
    set /a "number+=1"
)
到目前为止,它会根据需要输出,除了文件末尾没有使用原始名称创建。它实际上将“%~nx”作为文本后缀

基本上,我希望它将原始文件,加上前缀,从提供的数字开始计数,加上填充(这部分我还没有做过),放入一个新文件夹

谢谢你的阅读

以下是我的想法:

setlocal enableextensions enabledelayedexpansion

set /p "dir=Set output dir:" || goto :eof

set /p "d=Set total digits:" || goto :eof
set number=1
for /f "delims=" %%a in (List.txt) do (
setlocal enabledelayedexpansion
for %%b in (!number!) do (
    set "pad=0000000000%%b"
    set "name=!pad:~-%d%!
     copy "%%~fa" "%dir%\!name!_%%~nxa"
)
set /a "number+=1"
)

~nx
是名为
x
的变量的名称。也许您指的是
~nxa
~nxb
,这是两个
变量的名称和扩展名


为什么在环的中间有一个局部区域?< /P>啊!对非常感谢。回答你的问题,我不知道。它在密码上,我是弗兰肯斯坦,所以我把它留在里面了。它确实。。。老实说,我对这类事情知之甚少。我只是擅长补鹅卵石。