Batch file 批次:从var中分割一个数字,如果短于3个字符,则填充长度
我读出了一个从“1”到“999999”的变量Batch file 批次:从var中分割一个数字,如果短于3个字符,则填充长度,batch-file,fill,strip,digit,Batch File,Fill,Strip,Digit,我读出了一个从“1”到“999999”的变量 它表示一个目录结构,它是以3位数字的名称构建的。因此,在这两个级别中,它们都以“001”开头,以“999”结尾 一种方法是获取var,如果它小于6位,则填充它,然后获取前三位,并以新的var返回它们 If the returned value is: 1 -> it represents: 000001 and i need: 000 If the returned value is: 999 -> it repre
它表示一个目录结构,它是以3位数字的名称构建的。因此,在这两个级别中,它们都以“001”开头,以“999”结尾 一种方法是获取var,如果它小于6位,则填充它,然后获取前三位,并以新的var返回它们
If the returned value is: 1 -> it represents: 000001 and i need: 000
If the returned value is: 999 -> it represents: 000999 and i need: 000
If the returned value is: 3999 -> it represents: 003999 and i need: 003
If the returned value is: 99999 -> it represents: 099999 and i need: 099
If the returned value is: 999999 -> it represents: 999999 and i need: 999
我真的很想用一些代码来保存和智能地处理它。在变量前面加上5个零,然后提取最后6个数字中的前3个:
C:\>set "a=3999"
C:\>set "b=00000%a%"
C:\>set "c=%b:~-6,3%"
C:\>echo %c%
003
C:\>设置“a=3999”
C:\>设置“b=00000%a%”
C:\>设置“C=%b:~-6,3%
C:\>回显%C%
003
在变量前面加上5个零,然后提取最后6位数字中的前3位:
C:\>set "a=3999"
C:\>set "b=00000%a%"
C:\>set "c=%b:~-6,3%"
C:\>echo %c%
003
C:\>设置“a=3999”
C:\>设置“b=00000%a%”
C:\>设置“C=%b:~-6,3%
C:\>回显%C%
003
在变量前面加上5个零,然后提取最后6位数字中的前3位:
C:\>set "a=3999"
C:\>set "b=00000%a%"
C:\>set "c=%b:~-6,3%"
C:\>echo %c%
003
C:\>设置“a=3999”
C:\>设置“b=00000%a%”
C:\>设置“C=%b:~-6,3%
C:\>回显%C%
003
在变量前面加上5个零,然后提取最后6位数字中的前3位:
C:\>set "a=3999"
C:\>set "b=00000%a%"
C:\>set "c=%b:~-6,3%"
C:\>echo %c%
003
C:\>设置“a=3999”
C:\>设置“b=00000%a%”
C:\>设置“C=%b:~-6,3%
C:\>回显%C%
003
根据ansgars的想法:
set "a=3999"
set "b=00000%a%"
set "c=%b:~-6%"
set "d=%c:~0,3%"
echo %d%
将工作-虽然它看起来不像是非常优雅的编码。有没有更好的方法帮助别人?取决于ansgars的想法:
set "a=3999"
set "b=00000%a%"
set "c=%b:~-6%"
set "d=%c:~0,3%"
echo %d%
将工作-虽然它看起来不像是非常优雅的编码。有没有更好的方法帮助别人?取决于ansgars的想法:
set "a=3999"
set "b=00000%a%"
set "c=%b:~-6%"
set "d=%c:~0,3%"
echo %d%
将工作-虽然它看起来不像是非常优雅的编码。有没有更好的方法帮助别人?取决于ansgars的想法:
set "a=3999"
set "b=00000%a%"
set "c=%b:~-6%"
set "d=%c:~0,3%"
echo %d%
将工作-虽然它看起来不像是非常优雅的编码。有更好的方法吗?这将始终返回000,它只从末端到提取位置4-6起作用。这将始终返回000,它只从末端到提取位置4-6起作用。这将始终返回000,它只从末端到提取位置4-6起作用。这将始终返回000,它只能从末尾提取位置4-6。
%b:~-6,3%
将提取一个长度为3的子字符串,从最后第6个字符开始。似乎直到结尾我才重新显示手册页,谢谢%b:~-6,3%
将提取一个长度为3的子字符串,从最后第6个字符开始。似乎我直到最后才将手册页变红,谢谢%b:~-6,3%
将提取一个长度为3的子字符串,从最后第6个字符开始。似乎我直到最后才将手册页变红,谢谢%b:~-6,3%
将提取一个长度为3的子字符串,从最后第6个字符开始。似乎我直到最后才刷新手册页,谢谢