Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件填充为零_Batch File_Cmd_Zero Padding - Fatal编程技术网

Batch file 批处理文件填充为零

Batch file 批处理文件填充为零,batch-file,cmd,zero-padding,Batch File,Cmd,Zero Padding,我有一个身份证号码列表,如下所示: 123 4456 657 23 199 set num_max=5 set my_num=123 set "my_num=00000%my_num%" set "mynum=!my_num:!~-%num_max%!" echo %my_num% 我想给它添加填充零,这样它将以5位结束,结果如下: 00123 04456 00657 00023 00199 我在网上查过了,但找不到.bat文件的解决方案。 我尝试

我有一个身份证号码列表,如下所示:

123
4456
657
23
199
set num_max=5
set my_num=123

set "my_num=00000%my_num%"
set "mynum=!my_num:!~-%num_max%!"
echo %my_num%
我想给它添加填充零,这样它将以5位结束,结果如下:

00123
04456
00657
00023
00199
我在网上查过了,但找不到.bat文件的解决方案。 我尝试过以下方法:

123
4456
657
23
199
set num_max=5
set my_num=123

set "my_num=00000%my_num%"
set "mynum=!my_num:!~-%num_max%!"
echo %my_num%
但是reuslt变成了00000123。我有一个循环来读取所有的输入值

for /f "tokens=1" %%a in (.\config.ini) do (
echo %%a
)
``` and the %%a is the value that I would like to add the padding zero to.

如果您想继续学习一些PowerShell,您可以在批处理文件中轻松完成以下操作。如果您使用的是受支持的Windows系统,则PowerShell可用

set "num_max=5"
set "my_num=123"
FOR /F "delims=" %%A IN ('powershell -NoLogo -NoProfile -Command "'%my_num%'.PadLeft(%num_max%,'0')"') DO (SET "my_num=%%~A")
ECHO my_num is %my_num%
当然,如果脚本是在PowerShell中编写的,那么就更容易了

$num_max = 5
$my_num = 123
$my_left_padded_num = "{0:$('0' * $num_max)}" -f $my_num 
$my_left_padded_num

你是如此令人难以置信的接近;你只需要去掉中间的部分!从…起我的号码:!~-%num_max%!来吧!我的数量:~-%num\u max%!并回显%mynum%,而不是%my_num%。我投票决定结束,因为这两个都是打字错误,但是你做了一个很好的尝试。谢谢你的回复,但是现在输出了!我的号码:~-5!我已将这两行更改为设置mynum=!我的数量:~-%num\u max%!和echo%mynum%@SomethingDarkDo您在开始时设置了本地EnableDelayedExpansion行吗?