源码

# 循环执行20次创建文件的操作
# $i=0: 通过for循环语法,设置变量i初始值为0,
# $i -lt 20: 然后使用循环条件判断i递增后的值是否小于(-lt)20,如果小于20则继续递增,如果等于20则停止递增
# $i++: 对变量i进行递增
for ($i=0; $i -lt 20; $i++) {
    # 根据文件编号(也就是i的变量值)生成文件名
    $filename = "file" + "{0:d2}" -f $i + ".txt"
    # 根据文件编号(也就是i的变量值)生成文件内容,也就是在文件名基础上删除文件后缀
    $txt = "file" + "{0:d2}" -f $i
    # 判断文件是否已存在,如果存在则删除
    if (Test-Path $filename) {
        Remove-Item $filename
    }
    # 创建文件并写入数据,第一个传参是需要写入的文件名称,第二个参数是写入内容,文件名称和写入内容在上面生成,通过变量传入
    Set-Content $filename $txt
}

更多语法解析

{0:d2} 是一种字符串格式化方法,用来将一个数字按照指定格式进行格式化输出。在 PowerShell 或其他编程语言中,常常使用这种方法来控制输出的格式。这里具体解释一下{0:d2}的含义

  • {0} 表示要格式化的第一个参数;
  • :d2 表示对该参数执行十进制格式化,输出至少占两个字符的整数,不足的左侧用 0 填充。

例如,如果要格式化数字 5,按照{0:d2} 的格式化方式,输出结果为 05
同理,如果要格式化数字10,输出结果为 10
如果要格式化数字 123,输出结果为 123

PowerShell 脚本中,我们可以使用该方法来生成一些类似编号或时间戳等带有固定格式的字符串。在上面的示例中,"{0:d2}" -f $i 就是将循环计数器 $i 格式化为两位数字的字符串,例如 1 格式化为 019 格式化为0910 格式化为 10,以此类推。

效果

image-1682675429335

image-1682675439116