windows - 在 Powershell 中更改文件扩展名大小写

标签 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 之间没有区别。有办法做到这一点或解决方法吗?

最佳答案

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

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

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

关于windows - 在 Powershell 中更改文件扩展名大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37262158/

相关文章:

javascript - JSON 导入/导出格式的文件扩展名

string - 如何在 zsh 完成中删除文件扩展名?

c++ - 动态链接如何对对象的变化使用react

powershell - 显示正在运行的 PowerShell 脚本中的所有环境变量

powershell - 使用PowerShell仅从.log文件中提取更新的内容

python - 如何在 Python 中查找 base64 编码图像的文件扩展名

windows - 命名管道 Matlab

ruby - Ruby gets 方法将我的输入截断为 256 个字符

windows - bat 文件运行后关闭 Windows 应用程序

powershell - 打开文件查询以查看打开的文件