我们有用户发送的已加密的 .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 之间没有区别。有办法做到这一点或解决方法吗?
最佳答案
Windows 在文件路径方面不区分大小写,因此具有相同目标和源的复制操作将会失败,因为您正在读取尝试替换的文件。
使用Rename-Item
重命名文件。例如:
Rename-Item -Path $myOfile -NewName ([io.path]::ChangeExtension($myOfile, '.txt')) -Verbose
关于windows - 在 Powershell 中更改文件扩展名大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37262158/