首页 > 解决方案 > powershell 自动递增 001

问题描述

这就是我想要实现的。捕获屏幕并将其保存为$username-$date-000.jpg ,其中 000 需要在每次保存文件时自动递增。(即 000,001,002)

我试图自动生成号码。我该怎么办?如何自动增加数字?

$Path = read-host "Screenshot will save to - [1] Desktop or [2] C:\" 
switch ($Path)
{
        1
        {
        $Path = "$($env:USERPROFILE)\Desktop\"
        }
        2
        {
        $Path = "C:\"
        }
}
$X = 0
$FileName = %{"$env:USERNAME-$(get-date -f MM-dd)-$(($X+1).ToString("000")).jpg"}
$File = "$Path\$FileName"

标签: powershellauto-increment

解决方案


这可能不是理想的方法,但它仍然有效:

for ($i = 0; $i -ne 200; $i = $i + 20) {
    $num = "0" * ( 3 - $i.ToString().Length) + $i.ToString()
    $FileName = "file-$num"
    $FileName
}

在这里,我只是将数字的长度作为字符串获取,并根据 3 - {数字的字符长度}将x数量的 0 添加到开头。

因此,您需要添加基于 x 的 0 数量的计算:

$num = "0" * ( 3 - $x.ToString().Length) + $x.ToString()

你的文件名是:

$FileName = %{"$env:USERNAME-$(get-date -f MM-dd)-$num.jpg"}

推荐阅读