在Powershell中更改文件扩展名案例

时间:2016-05-16 19:52:38

标签: windows powershell file-extension renaming

我们有用户发送的.txt文件已加密。我们解密它们并将其作为输入发送到下游的第三方系统。它一直运行良好,但用户开始发送文件是.TXT而不是.txt。它在解密期间没有任何区别,但它正在影响下游系统。我们应该将.TXT更改为.txt

我试过这样改变它

Copy-Item -Path $myOfile –Destination ([io.path]::ChangeExtension($myOfile, '.txt')) -Verbose

这里$ myOfile是我的文件名,它的名字是这样的 我们解密的20160506_205400_Sender_header.TXT.GPG,它会更改为20160506_205400_Sender_header.TXT

我使用上面的命令将其更改为20160506_205400_Sender_header.txt并抛出以下错误

Copy-Item : Cannot overwrite the item C:\Sender\Submit\20160506_205400_Sender_header.TXT with itself.

似乎.TXT和.txt之间没有区别。有没有办法做到这一点或解决方法?

1 个答案:

答案 0 :(得分:3)

Windows在文件路径中不区分大小写,因此具有相同目标和来源的复制操作将失败,因为您正在读取您尝试替换的文件。

使用Rename-Item重命名文件。例如:

Rename-Item -Path $myOfile -NewName ([io.path]::ChangeExtension($myOfile, '.txt')) -Verbose