我们有用户发送的.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之间没有区别。有没有办法做到这一点或解决方法?
答案 0 :(得分:3)
Windows在文件路径中不区分大小写,因此具有相同目标和来源的复制操作将失败,因为您正在读取您尝试替换的文件。
使用Rename-Item
重命名文件。例如:
Rename-Item -Path $myOfile -NewName ([io.path]::ChangeExtension($myOfile, '.txt')) -Verbose