使用重命名项目重命名文件-路径问题

时间:2018-08-13 14:53:16

标签: powershell

我正在尝试修改此示例代码batch extract .msg attachments...,该示例代码从其“附件文件名” +“。msg文件名”构建附件文件名。我只想将生成的附件文件名修改为“我的学习编号” +“附件文件名”的格式。例如“ 06327_这是我的原始附件filename.pdf”。无法简单,但我无法使其正常工作。

我一直在尝试使用...

for (var i = 0; i < _users.Count; i += _random.Next(_minMentions, _maxMentions + 1))
{
    var mergedString = ?? // get the values of the next _random.Next(_minMentions, _maxMentions + 1) strings
}

在这种情况下...

$attFn = Rename-Item $_.FileName -NewName "$($msgPath + $MyStudyNumber + ' - Corres - ' + $_.FileName)"

但是我的代码行将$ attFn留空。一直在试图解决此问题,但只是变得脑筋急转弯,因此需要不同的观点。我在powershell中苦苦挣扎,因此就此问题,调试器无法解决问题。

在调试器会话中找到的其他值为...

            Write-Verbose "Extracting attachments from $_..."
        $msg = $outlook.CreateItemFromTemplate($msgFn)
        $msg.Attachments | % {
            # Work out attachment file name
            #$attFn = $msgFn -replace '\.msg$', " - Attachment - $($_.FileName)" #This is the original filename format
            $attFn = Rename-Item $_.FileName -NewName "$($msgPath + $MyStudyNumber + ' - Corres - ' + $_.FileName)"

            $attFn = Join-Path -Path $msgPath -ChildPath ($_.FileName)

            # Do not try to overwrite existing files
            if (Test-Path -literalPath $attFn) {
                Write-Verbose "Skipping $($_.FileName) (file already exists)..."
                return
            }

任何帮助都很感激。

0 个答案:

没有答案