我想输出许多名为 file01.txt、file02.txt、...、file10.txt、file11.txt 的文件中的一些数据。我有以下脚本:
setlocal enabledelayedexpansion
set /a cnt = 0
for /f %%f in ('dir /b "../in/"') do (
set /a cnt += 1
get_data > ../out/file!cnt!.txt
)
但我得到文件 file1.txt、file2.txt。如何格式化它并添加所需的零?
最佳答案
setlocal enabledelayedexpansion
set /a cnt = 100
for /f %%f in ('dir /b "..\in\"') do (
set /a cnt += 1
get_data > ..\out\file!cnt:~-2!.txt
)
批量子串由%var:~m,n%
获取,其中,n
为可选; m
是从字符串开头开始的字符数,如果为负数,则从末尾开始计数。 ,n
正数 = 返回的最大长度;负数 = 从末尾开始的字符中的结束位置;缺失=返回m
关于batch-file - 在 cmd 中获取整数变量的格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21530183/