从Powershell中的文件名中获取2个字符

Get 2 characters from file name in powershell

我有一个 PowerShell 脚本,它更改文件夹中最后一个文件的编码,然后将其复制到另一个文件夹,但是,我需要使用输入文件名中的 2 个字符重命名输出文件名。 请帮帮我)

这是脚本

    $source=Get-ChildItem "C:\StatementAMImport\NewEmails_*.xml" | select  -Last 1
    $File = Get-Content $source
    $Utf8 = New-Object System.Text.UTF8Encoding $False
    $Out = 'D:\UTF8\file.zpm'
    [System.IO.File]::WriteAllLines($Out, $File, $Utf8)

输入文件全名示例 NewEmails_20210805_180345 我需要得到日期,在我的例子中是 05

提前致谢。

所以$source是文件对象

有了它你就可以得到它的名字

$sourceFileName = $source.BaseName

要获取日期(位于固定位置),您可以使用 SubString() 方法

$outputDay = $sourceFileName.Substring(16,2)

现在 $outputDay 包含“05”